SORU
24 NİSAN 2009, Cuma


Program aracılığıyla iPhone üzerinde bellek kullanımını almanıza

Benim iPhone app herhangi bir zamanda, programlı olarak kullandığı bellek miktarını almak için çalışıyorum. Evet ObjectAlloc/Kaçaklar hakkında farkındayım. Bu ilgi değilim, sadece Olası bazı kod yazmak için olup olmadığını bilmek ve bayt kullanılan miktarı ve NSLog aracılığıyla bildirin.

Teşekkürler.

CEVAP
24 NİSAN 2009, Cuma


Uygulamanızın kullandığı bellek gerçek bayt almak için, gibi bir şeyler aşağıdaki yapabilirsiniz. Ancak, gerçekten değişik profil oluşturma araçları aşina kullanımı çok daha iyi bir resim vermek için tasarlanmış, onlar kadar iyi-tüm gerekir.

#import <mach/mach.h>

// ...

void report_memory(void) {
  struct task_basic_info info;
  mach_msg_type_number_t size = sizeof(info);
  kern_return_t kerr = task_info(mach_task_self(),
                                 TASK_BASIC_INFO,
                                 (task_info_t)&info,
                                 &size);
  if( kerr == KERN_SUCCESS ) {
    NSLog(@"Memory in use (in bytes): %u", info.resident_size);
  } else {
    NSLog(@"Error with task_info(): %s", mach_error_string(kerr));
  }
}

Ayrıca yapı bilgisi bir alan var.sen bayt kullanılabilir sanal bellek (ya da bellek her halükarda potansiyel sanal bellek olarak uygulamanız için ayrılan) sayısını verecektir virtual_size. Bu pgb bağlantılarını kodu nedir, bellek aygıtı için kullanılabilir miktarı ve verecektir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • calicoJake

    calicoJake

    29 EKİM 2007
  • dope2111

    dope2111

    29 HAZİRAN 2009
  • Fubar Protocol

    Fubar Protoc

    21 AĞUSTOS 2010