我在第一个iOS应用程序结束时。一切正常,但长时间使用后我有一些警告记忆。我已经使用Instruments检查我的内存分配,看起来我在每次viewcontroller push时重新创建对象。我真的不明白我要做些什么来改善我的记忆分配。
以下是我在仪器上的内容:
以下是一堆似乎有问题的代码:
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController *startHomeViewController = [storyboard instantiateViewControllerWithIdentifier:@"home-vc"];
[self.navigationController pushViewController: startHomeViewController animated:YES];
我认为这是因为我在使用后不删除我的对象,当我重新推送此视图时,它会创建一个新对象。
我的应用程序有这个故事板:
Login -> push Tuto -> push Home -> push Enigma -> push LandingPage -> push DetailsPage -> popToRootViewController (login)
你知道我应该怎么做吗?
thx
答案 0 :(得分:0)
保留startHomeViewController的实例,并仅在它为nil时实例化它。因此,这可以防止控制器每次都被创建。
if(!self.homeViewController)
{
UIViewController *startHomeViewController = [storyboard instantiateViewControllerWithIdentifier:@"home-vc"];
}