【发布时间】:2010-07-12 16:25:44
【问题描述】:
我最近将我的应用程序更改为使用 UINavigationController,我之前使用的是 UINavigationBar,添加了级联子视图,这有点脆弱。
我遇到了内存使用问题。泄漏工具没有显示任何泄漏,但我创建并添加到 UINavigationController 的 ViewController 似乎从未被释放。所以每次我创建一个新的 VC 然后按下 NavigationController 的返回按钮时,内存使用量都会增加。
我只是通过这种方式创建和添加我的 VC:
DetailViewController* detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil];
// setups
[self.navigationController pushViewController:detailViewController animated:YES];
[detailViewController release];
应用永远不会通过 ViewController 的 dealloc 和 viewDidUnload 方法。每次我按下后退按钮时不应该调用这些吗?
我搜索了很多教程并阅读了Apple的内存管理,但是使用NavigationController时VC在内存中的生命周期一无所获。
【问题讨论】:
-
Jukurrpa,您解决了这个问题吗?我面临着同样困扰我的问题。
标签: iphone memory uiviewcontroller uinavigationcontroller dealloc