Instruments 'Allocations шаблон сообщает текущее использование памяти приложением в разделе «All Allocations - Live Bytes».
И в соответствии с этим потоком Программно восстановить использование памяти на iPhone , я могутакже получите использование памяти приложением, используя следующий код:
#import <mach/mach.h>
// ...
void report_memory(void) {
struct task_basic_info info;
mach_msg_type_number_t size = sizeof(info);
kern_return_t kerr = task_info(mach_task_self(),
TASK_BASIC_INFO,
(task_info_t)&info,
&size);
if( kerr == KERN_SUCCESS ) {
NSLog(@"Memory in use (in bytes): %u", info.resident_size);
} else {
NSLog(@"Error with task_info(): %s", mach_error_string(kerr));
}
}
Но когда «Живые байты» показывают мне 7 + МБ, вышеКод дает 40 + МБ.Разве они не должны быть примерно одинаковыми?