首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

检测内存储器

2012-09-06 
检测内存//检测内存void report_memory(void) {static unsigned last_resident_size0static unsigned gr

检测内存

//检测内存void report_memory(void) {    static unsigned last_resident_size=0;    static unsigned greatest = 0;    static unsigned last_greatest = 0;        struct task_basic_info info;    mach_msg_type_number_t size = sizeof(info);    kern_return_t kerr = task_info(mach_task_self(),                                   TASK_BASIC_INFO,                                   (task_info_t)&info,                                   &size);    if( kerr == KERN_SUCCESS ) {        int diff = (int)info.resident_size - (int)last_resident_size;        unsigned latest = info.resident_size;        if( latest > greatest   )   greatest = latest;  // track greatest mem usage        int greatest_diff = greatest - last_greatest;        int latest_greatest_diff = latest - greatest;        NSLog(@"Mem: %10u (%10d) : %10d :   greatest: %10u (%d)", info.resident_size, diff,              latest_greatest_diff,              greatest, greatest_diff  );    } else {        NSLog(@"Error with task_info(): %s", mach_error_string(kerr));    }    last_resident_size = info.resident_size;    last_greatest = greatest;}

热点排行