ios开发——实用技术篇OC篇&获取内存使用情况

时间:2022-03-01 06:19:17

获取内存使用情况

  iOS 获取 当前设备 可用内存 及当前 应用 所占内存 (-- ::)
 转载
 ▼
 标签: ios 设备 可用内存 所占内存 内存 it     分类: iOS

 // 获取当前设备可用内存及所占内存的头文件

 #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;

 }