这是我在游戏中用于获取内存使用信息的一小段代码。
#include <mach/mach.h>
unsigned get_memory_bytes(void) {
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 );
return kerr == KERN_SUCCESS ? info.resident_size : 0;
}
unsigned get_memory_kb(void) {
return get_memory_bytes() >> 10;
}
最近,我一直在使用 Instruments 执行内存分析,以便发现我的游戏代码中的问题。但是,我注意到我的游戏内报告告诉我的内容与 Instruments 告诉我的内容之间存在差异。
有关更多信息,请访问此处。
也就是说,我很好奇 Instruments 从哪里获取信息。它应该附加到该过程中,但它仍然必须使用某些东西从某处获取信息,所以我想知道那是什么以及它是从哪里获取的。