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

获取内存使用情况

 

 1  iOS 获取 当前设备 可用内存 及当前 应用 所占内存 (2012-05-15 11:12:39)
 2 转载
 3  4 标签: ios 设备 可用内存 所占内存 内存 it     分类: iOS
 5 
 6 // 获取当前设备可用内存及所占内存的头文件
 7 
 8 #import <sys/sysctl.h>
 9 
10 #import <mach/mach.h>
11 
12 
13  
14 
15  
16 
17 // 获取当前设备可用内存(单位:MB)
18 
19 - (double)availableMemory
20 
21 {
22 
23   vm_statistics_data_t vmStats;
24 
25   mach_msg_type_number_t infoCount = HOST_VM_INFO_COUNT;
26 
27   kern_return_t kernReturn = host_statistics(mach_host_self(), 
28 
29                                              HOST_VM_INFO, 
30 
31                                              (host_info_t)&vmStats, 
32 
33                                              &infoCount);
34 
35   
36 
37   if (kernReturn != KERN_SUCCESS) {
38 
39     return NSNotFound;
40 
41   }
42 
43   
44 
45   return ((vm_page_size *vmStats.free_count) / 1024.0) / 1024.0;
46 
47 }
48 
49 
50 // 获取当前任务所占用的内存(单位:MB)
51 
52 - (double)usedMemory
53 
54 {
55 
56   task_basic_info_data_t taskInfo;
57 
58   mach_msg_type_number_t infoCount = TASK_BASIC_INFO_COUNT;
59 
60   kern_return_t kernReturn = task_info(mach_task_self(), 
61 
62                                        TASK_BASIC_INFO, 
63 
64                                        (task_info_t)&taskInfo, 
65 
66                                        &infoCount);
67 
68 
69   if (kernReturn != KERN_SUCCESS
70 
71       ) {
72 
73     return NSNotFound;
74 
75   }
76 
77   
78 
79   return taskInfo.resident_size / 1024.0 / 1024.0;
80 
81 }

 

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。