how XCode to calculate Memory

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

  1. 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.
  2. 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!

how XCode to calculate Memory
 
 
Q