is there any public API or Method to get resident size of current process of game like Debug Gauges to Monitor Memory?
As far as i know someone use XCode instrument -> show the Debuger navigator -> Memory to get it, before i have found some API to get it
from internet,but a big differece bettween with the result of XCode Debuger navigator .
the first method like this:
struct mach_task_basic_info info;
mach_msg_type_number_t count = MACH_TASK_BASIC_INFO_COUNT;
if (task_info(mach_task_self(), MACH_TASK_BASIC_INFO, (task_info_t)& info, &count) == KERN_SUCCESS)
{
int32_t _pss = (int32_t)info.resident_size / (1024 * 1024);
}
another method like this:
task_vm_info_data_t vmInfo;
mach_msg_type_number_t count = TASK_VM_INFO_COUNT;
kern_return_t kernelReturn = task_info(mach_task_self(), TASK_VM_INFO, (task_info_t) &vmInfo, &count);
if(kernelReturn == KERN_SUCCESS)
{
int32_t _pss = (int32_t) vmInfo.phys_footprint / (1024 * 1024);
}
someone discuss:https://github.com/aozhimin/iOS-Monitor-Platform/issues/5
- a big differnece bettween the result of the first method and the result of XCode Debug navigator instrument, info.resident_size will not increase When the memory is allocated continuously,but xcode Debug navigator will increase.
- but a little difference bettween the result of the second method and the result of XCode Debug navigator instrument when use game test,but application app will same with it.
so i want to know how XCode Debug navigator to calculate Memory or how to get resident size of current process more precise,any idea will help me,thanks in advance!