推送UIViewController时内存泄漏

时间:2011-03-14 16:46:10

标签: iphone memory memory-leaks pushviewcontroller popviewcontroller

每次推送一个新的viewcontroller,它都会增加大约3MB。 TestVC是一个全新的VC,有一种方法可以推送新版本的VC。

 UIViewController *vc = [[TestVC alloc] initWithNibName:nibName bundle:nil]; 
    [self.navigationController pushViewController:vc animated:YES];
    [vc release];

当我使用popviewController时,它不会释放任何内存(观看活动监视器)。

[self.navigationController popViewControllerAnimated: YES];

因此,当我添加导航应用程序(大约60个不同的页面)时,内存不断积累。 initWithNibName是否需要特殊的东西。当我弹出时,我是否需要以某种方式释放笔尖?

1 个答案:

答案 0 :(得分:2)

最可能的问题是release中的-[TestVC dealloc]内容失败了。我会先通过检查评估该方法。如果找不到问题,请使用仪器中的Leaks仪器查找过度保留的特定内容。如果Leaks找不到它,那么使用Instruments中的快照工具查看分配的内容。有了这么大的东西,应该很容易找到。您可以快速了解在Use Your Loaf上使用快照。