Доступная память для приложения iPhone OS

Существует ли функция или постоянное определение объема доступной памяти для приложения в iPhone OS?

Я ищу независящий от устройств путь (iPod touch, iPhone, iPad) для знания, сколько памяти приложение уехало.

23
задан hpique 9 May 2010 в 18:20
поделиться

2 ответа

Эта функция вернет доступную память в байтах:

#import <mach/mach.h> 
#import <mach/mach_host.h>

natural_t  freeMemory(void) {
    mach_port_t           host_port = mach_host_self();
    mach_msg_type_number_t   host_size = sizeof(vm_statistics_data_t) / sizeof(integer_t);
    vm_size_t               pagesize;
    vm_statistics_data_t     vm_stat;

    host_page_size(host_port, &pagesize);

    if (host_statistics(host_port, HOST_VM_INFO, (host_info_t)&vm_stat, &host_size) != KERN_SUCCESS) NSLog(@"Failed to fetch vm statistics");

    natural_t   mem_used = (vm_stat.active_count + vm_stat.inactive_count + vm_stat.wire_count) * pagesize;
    natural_t   mem_free = vm_stat.free_count * pagesize;
    natural_t   mem_total = mem_used + mem_free;

    return mem_free;
}
48
ответ дан 29 November 2019 в 01:25
поделиться

Не существует определенного максимального объема памяти, который может использовать приложение iPhone. Будет ли ваше приложение завершено из-за нехватки памяти, зависит от того, какие алгоритмы использует ОС и какие другие приложения одновременно используют память (сафари, почта и т. Д.).

3
ответ дан 29 November 2019 в 01:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: