Чтобы получить фактические байты памяти, используемые вашим приложением, вы можете сделать что-то вроде приведенного ниже примера. Тем не менее, вам действительно нужно ознакомиться с различными инструментами профилирования, а также спроектировать их, чтобы дать вам гораздо лучшую картину общего использования.
#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): %lu", info.resident_size);
NSLog(@"Memory in use (in MB): %f", ((CGFloat)info.resident_size/1000000));
} else {
NSLog(@"Error with task_info(): %s", mach_error_string(kerr));
}
}
Существует также поле в структуре info.virtual_size, который даст вам число байтов виртуальной памяти (или память, выделенных для вашего приложения в качестве потенциальной виртуальной памяти в любом случае). Код, который связывает pgb, даст вам объем памяти, доступный устройству, и какой тип памяти он имеет.
Человек, я уже успешно использую память; Но можете ли вы ответить на мои вопросы? https://stackoverflow.com/questions/47071265/how-to-analyze-stack-info-of-a-thread – Paradise