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 }

 

 

你可能感兴趣的:(ios开发)