最近我将我的应用改为使用UINavigationController,之前我使用的是UINavigationBar并进行级联子视图添加,这有些不稳定。
我现在面临一个内存使用问题。Leaks工具没有显示任何泄漏,但是我创建并添加到UINavigationController中的ViewControllers似乎从未被释放。因此,每次我创建新的VC并按下NavigationController的返回按钮时,内存使用量都会增加。
我只是通过以下方式创建和添加我的VC:
DetailViewController* detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil];
// setups
[self.navigationController pushViewController:detailViewController animated:YES];
[detailViewController release];
这个应用程序从未经过ViewController的dealloc
和viewDidUnload
方法。我每次按返回按钮时,这些方法都不应该被调用吗?
我已经搜索了很多教程并阅读了苹果的内存管理文档,但在使用NavigationController时,关于VC在内存中的生命周期没有任何说明。