2009-06-19 10 views

Antwort

3

Sie können die Mach callhost_info(host, flavor, host_info, host_info_count) verwenden. Wenn Sie es mit flavor=HOST_BASIC_INFO rufen, um die Puffer host_info Punkte mit einer Struktur host_basic_info gefüllt ist, was so aussieht:

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 */ 
} 

Von dieser Struktur können Sie die Speichergröße erhalten.

8

Sie physischen Speicher mit folgendem erhalten können:

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

Der verfügbare Speicher wird etwas sein, nicht, dass Sie auf eine harte Nummer nageln kann, da der os Hintergrund-Apps für Sie töten je nach Bedarf Geben Sie der Vordergrund-App mehr Speicher, zusammen mit dem Löschen von Datei-Caches usw. Angenommen, Sie tun dies, um Ihr eigenes Caching zu optimieren. Sie könnten Ihre Cachegröße basierend auf dem physischen Speicher erstellen und schätzen, wie viel Sie verwenden sollten. Zum Beispiel, auf einem alten 128m iphone 3g, würde Ihre gesamte App nur vielleicht 10-15meg RAM erhalten, bevor es getötet wurde, wo ein brandneues 1024meg iphone5 Ihnen Hunderte von Megabytes RAM erlauben wird, bevor das Betriebssystem beschließt, Sie zu töten .

Siehe Speicher in Geräten bei http://en.wikipedia.org/wiki/List_of_iOS_devices

+1

Ich denke, es sollte dies sein, NSLog (@ "Physischer Speicher:% llu", [NSProcessInfo processInfo]. PhysicalMemory); – Femina