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

写出方法获取ios内存使用情况

2016-04-21 14:28 447 查看
#import "ViewController.h"

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

#import <sys/sysctl.h>

#import <mach/mach.h>

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

// Do any additional setup after loading the view, typically from a nib.

double f1 = [self availableMemory];

NSLog(@"%.f",f1);

double f2 = [self usedMemory];

NSLog(@"%.f",f2);

}

// 获取当前设备可用内存(单位: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;

}

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