我正在恢复虚拟内存大小,如下所示:
-(void)virtualMemory{
struct mach_task_basic_info info;
mach_msg_type_number_t size = MACH_TASK_BASIC_INFO_COUNT;
kern_return_t kerr = task_info(mach_task_self(),
MACH_TASK_BASIC_INFO,
(task_info_t)&info,
&size);
if( kerr == KERN_SUCCESS ) {
NSLog(@"Virtual Memory size (in bytes): %llu", info.virtual_size);
} else {
NSLog(@"Error with task_info(): %s", mach_error_string(kerr));
}
}
现在这给了我虚拟内存大小为 - 2784350208
我正在使用模拟器。是否有可能获得特定进程使用的虚拟内存?
答案 0 :(得分:1)
您需要访问task_for_pid()
API。这通常是禁止使用的,需要使用权利(见链接)。
虽然所述权利可能在模拟器中有效,但我不确定它是否可以在您自己的设备上运行,并且它不会通过提交。