我有一个问题应用程序,基于导航,我创建并每次从笔尖推送我的tableviews.没有泄漏,仪器中的实时字节大约为2-3 MB.
我在真实设备(越狱IOS4 iPhone)中测试,当我深入导航(大约200页推送)时,我可以看到内存使用量高达150 MB!当我导航回root时,他们都被释放了,但这不是一个奇怪的行为吗?(每个笔尖视图大约800 KB,其中没有大数据或图像)
最奇怪的是,我对didreceivememorywarning和didunloadview方法提出了一些警告,但没有收到任何内存警报!
- 为什么我从来没有得到任何内存警告和viewDidUnload甚至应用程序使用150 MB和更多的内存? - 应用程序有效,但这个内存使用对Apple商店来说是个问题吗?
fsa*_*int 16
东西正在发生什么事.请尝试以下代码来检查应用程序使用的内存的操作系统版本
-(void) report_memory {
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)
你需要#import"mach/mach.h"
这将告诉您操作系统为您的应用授予了多少内存.因此,如果你看到的是一些奇怪的乐器行为,这应该会有所启发.
| 归档时间: |
|
| 查看次数: |
3240 次 |
| 最近记录: |