2009-06-19 8 views

Respuesta

3

Puede usar el Mach callhost_info(host, flavor, host_info, host_info_count). Si llama con flavor=HOST_BASIC_INFO, el búfer host_info puntos que se llena con una estructura host_basic_info, lo que parece ser que:

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

partir de esta estructura, se puede obtener el tamaño de la memoria.

8

Usted puede obtener memoria física con lo siguiente:

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

Memoria disponible va a ser algo que no se puede clavar a un número duro, ya que el sistema operativo acabará con aplicaciones de fondo para usted según sea necesario para le da a la aplicación de primer plano más memoria, junto con la limpieza de cachés de archivos, etc. Suponiendo que estás haciendo esto para optimizar tu propio almacenamiento en caché, puedes construir tu tamaño de caché basándose en la memoria física y adivinar cuánto deberías usar. Por ejemplo, en un viejo iphone de 128m 3g, toda tu aplicación obtendría solo 10-15 megas de ram antes de que se matara, donde un nuevo 1024meg iphone5 te va a permitir cientos de megabytes de ram antes de que el os decida matarte .

Ver memoria en dispositivos a http://en.wikipedia.org/wiki/List_of_iOS_devices

+1

Supongo que debería ser esto, NSLog (@ "Memoria física:% llu", [NSProcessInfo processInfo] .Memoria física); – Femina

Cuestiones relacionadas