ios获取内存使用率代码如下:
/当前app使用的内存
- (unsigned long long)useMemoryForApp{
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)
{
int64_t memoryUsageInByte = (int64_t) vmInfo.phys_footprint;
return memoryUsageInByte;
}
else
{
return -1;
}
}
//设备总的内存
- (unsigned long long)totalMemoryForDevice{
return [NSProcessInfo processInfo].physicalMemory;
}
然后调用以上代码
-(void)showMemory{
unsigned long long usedMemory = [self useMemoryForApp];
unsigned long long totalMemory = [self totalMemoryForDevice];
NSString* info = [NSString stringWithFormat:@"Used:%@, Total:%@",[NSByteCountFormatter stringFromByteCount:usedMemory countStyle:NSByteCountFormatterCountStyleMemory],[NSByteCountFormatter stringFromByteCount:totalMemory countStyle:NSByteCountFormatterCountStyleMemory]]}
}
和instrument里面activity monitor进行对比,数据基本一致
参考文章
1、https://www.jianshu.com/p/4091870ca3f0
2、https://blog.csdn.net/u011619283/article/details/78687673
3、https://www.cnblogs.com/mobilefeng/p/4977783.html
4、https://juejin.im/post/5d3ee77ef265da039f1290b2
5、https://zhuanlan.zhihu.com/p/49829766