我最近更改了我的应用程序以使用 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 在内存中的生命周期一无所获。