mk1*_*k12 5 iphone memory-management
甚至当我只使用基于Window的应用程序模板时,仪器(活动监视器)说我的应用程序的进程是使用8.14MB的真实内存!即使使用这种方法:
void report_memory(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);
if( kerr == KERN_SUCCESS ) {
NSLog(@"Memory in use (in bytes): %u", info.resident_size);
} else {
NSLog(@"Error with task_info(): %s", mach_error_string(kerr));
}
}
Run Code Online (Sandbox Code Playgroud)
它还是~8.14 MB!所以看来仪器是正确的,但为什么UIWindow会占用那么多内存?
我的猜测是 Objective-C 运行时库占用了所有空间,而不是你UIWindow
本身。然而,所有应用程序都使用这些库的副本,iPhone 操作系统可能足够智能,可以在所有正在运行的应用程序之间共享该内存(当然,只允许系统应用程序在后台运行)。
归档时间: |
|
查看次数: |
290 次 |
最近记录: |