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

  • Helen Bradley

    Helen Bradle

    4 Mart 2008
  • Jejoab

    Jejoab

    4 NİSAN 2008
  • Make:

    Make:

    23 Mart 2006