您的位置:首页 > 移动开发 > IOS开发

iOS 之获取设备所剩内存 以及 当前应用所占内存

2017-02-28 11:46 281 查看

第一步:导入相应的头文件

#import <sys/sysctl.h>
#import <mach/mach.h>


第二步: 获取当前设备可用内存(单位:MB)

- (double)availableMemory

{

vm_statistics_data_t vmStats;

mach_msg_type_number_t infoCount = HOST_VM_INFO_COUNT;

kern_return_t kernReturn = host_statistics(mach_host_self(),

HOST_VM_INFO,

(host_info_t)&vmStats,

&infoCount);

if (kernReturn != KERN_SUCCESS) {

return NSNotFound;

}

return ((vm_page_size *vmStats.free_count) / 1024.0) / 1024.0;

}


第三步:获取当前任务所占用的内存(单位:MB)

- (double)usedMemory{

task_basic_info_data_t taskInfo;

mach_msg_type_number_t infoCount = TASK_BASIC_INFO_COUNT;

kern_return_t kernReturn = task_info(mach_task_self(),

TASK_BASIC_INFO,

(task_info_t)&taskInfo,

&infoCount);

if (kernReturn != KERN_SUCCESS) {

return NSNotFound;

}

return taskInfo.resident_size / 1024.0 / 1024.0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息