2009-06-19 10 views

Odpowiedz

3

Można użyć Mach callhost_info(host, flavor, host_info, host_info_count). Jeśli zadzwonisz go flavor=HOST_BASIC_INFO bufor host_info punktów jest wypełniona struct host_basic_info, co wygląda tak:

struct host_basic_info { 
    integer_t    max_cpus;    /* max number of CPUs possible */ 
    integer_t    avail_cpus;    /* number of CPUs now available */ 
    natural_t    memory_size;   /* size of memory in bytes, capped at 2 GB */ 
    cpu_type_t    cpu_type;    /* cpu type */ 
    cpu_subtype_t   cpu_subtype;   /* cpu subtype */ 
    cpu_threadtype_t  cpu_threadtype;   /* cpu threadtype */ 
    integer_t    physical_cpu;   /* number of physical CPUs now available */ 
    integer_t    physical_cpu_max;  /* max number of physical CPUs possible */ 
    integer_t    logical_cpu;   /* number of logical cpu now available */ 
    integer_t    logical_cpu_max;  /* max number of physical CPUs possible */ 
    uint64_t    max_mem;    /* actual size of physical memory */ 
} 

Od tej struktury można uzyskać rozmiaru pamięci.

8

Można dostać pamięć fizyczną z następujących czynności:

NSLog(@"physical memory: %d", [NSProcessInfo processInfo].physicalMemory); 

Dostępna pamięć będzie nie coś można przybić gwoździami do numeru dysku, ponieważ system operacyjny będzie zabić aplikacji w tle dla Ciebie, ile potrzeba, aby nadaj aplikacji na pierwszym planie więcej pamięci, wraz z czyszczeniem pamięci podręcznej plików itp. Zakładając, że robisz to, aby zoptymalizować własne buforowanie, możesz zbudować swój rozmiar pamięci podręcznej na podstawie fizycznej pamięci i odgadnąć, ile należy użyć. Na przykład, na starym 128-calowym iPhonie 3g, cała twoja aplikacja dostałaby tylko 10-15mb pamięci RAM, zanim zostanie zabita, gdzie nowy 1024meg iphone5 pozwoli ci setki megabajtów pamięci RAM zanim os postanowi cię zabić .

See pamięci w urządzeniach na http://en.wikipedia.org/wiki/List_of_iOS_devices

+1

Chyba powinno tak być, NSLog (@ "Pamięć fizyczna:% llu", [NSProcessInfo processInfo] .physicalMemory); – Femina

Powiązane problemy