iOS 获取 当前设备 可用内存 及当前 应用 所占内存 (转)

来源:互联网 发布:优化教学体验成功论文 编辑:程序博客网 时间:2024/05/16 17:44

http://aasheaa.blog.163.com/blog/static/99333120126311332613/


[cpp] view plaincopy
  1. // 获取当前设备可用内存及所占内存的头文件  
  2. #import <sys/sysctl.h>  
  3. #import <mach/mach.h>  
  4.   
  5.    
  6.    
  7. // 获取当前设备可用内存(单位:MB)  
  8. - (double)availableMemory  
  9. {  
  10.   vm_statistics_data_t vmStats;  
  11.   mach_msg_type_number_t infoCount = HOST_VM_INFO_COUNT;  
  12.   kern_return_t kernReturn = host_statistics(mach_host_self(),   
  13.                                              HOST_VM_INFO,   
  14.                                              (host_info_t)&vmStats,   
  15.                                              &infoCount);  
  16.     
  17.   if (kernReturn != KERN_SUCCESS) {  
  18.     return NSNotFound;  
  19.   }  
  20.     
  21.   return ((vm_page_size *vmStats.free_count) / 1024.0) / 1024.0;  
  22. }  
  23.   
  24. // 获取当前任务所占用的内存(单位:MB)  
  25. - (double)usedMemory  
  26. {  
  27.   task_basic_info_data_t taskInfo;  
  28.   mach_msg_type_number_t infoCount = TASK_BASIC_INFO_COUNT;  
  29.   kern_return_t kernReturn = task_info(mach_task_self(),   
  30.                                        TASK_BASIC_INFO,   
  31.                                        (task_info_t)&taskInfo,   
  32.                                        &infoCount);  
  33.   
  34.   if (kernReturn != KERN_SUCCESS  
  35.       ) {  
  36.     return NSNotFound;  
  37.   }  
  38.     
  39.   return taskInfo.resident_size / 1024.0 / 1024.0;  
  40. }  
0 0
原创粉丝点击