Как найти доступную память в iPhone программно? - PullRequest
20 голосов
/ 20 июня 2009

Я хотел бы знать, как найти программно доступную память в iPhone от Objective-C?

Ответы [ 3 ]

8 голосов
/ 20 марта 2013

Вы можете получить физическую память со следующими данными:

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

Доступная память не будет чем-то, что вы можете прибить к жесткому числу, так как ОС уничтожит фоновые приложения для вас по мере необходимости, чтобы дать приложению переднего плана больше памяти, наряду с очисткой файловых кешей и т. Д. Предполагая, что вы ' Делая это, чтобы оптимизировать собственное кеширование, вы можете построить размер кеша на основе физической памяти и угадать, сколько вы должны использовать. Например, на старом 128-метровом iphone 3g все ваше приложение получит от 10 до 15 мегабайт оперативной памяти до того, как его убьют, а новый 1024-мегабаритный iphone5 позволит вам получить сотни мегабайт оперативной памяти, прежде чем ОС решит убить вас. .

См памяти в устройствах на http://en.wikipedia.org/wiki/List_of_iOS_devices

3 голосов
/ 20 марта 2013

Вы можете использовать вызов Маха host_info(host, flavor, host_info, host_info_count). Если вы вызываете его с помощью flavor=HOST_BASIC_INFO, буфер, на который указывает host_info, заполняется структурой host_basic_info, что выглядит так:

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

Из этой структуры вы можете получить объем памяти.

0 голосов
/ 27 ноября 2013

проверьте этот URL: https://github.com/andrealufino/ALSystemUtilities/blob/develop/ALSystemUtilities/ALSystemUtilities/ALDisk/ALDisk.m может быть, это полезно для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...