1

我有5个viewControllers,每次点击它们时都会重新加载。我想减少内存分配,所以在viewDidDisappear我让所有的IBOutlets零,但我仍然想减少更多的内存,这是控制器保留的所有内容。我需要单独做还是有什么方法可以为我做魔术?如何释放viewController保留的所有内容?

+0

嗯...所以当视图再次出现(viewDidAppear),会发生什么? – newacct

回答

0

设置IBOutletsnilviewDidDisappear没有释放任何东西,因为这些将全部保留在view之内。

虽然您可以释放其他对象,然后在viewDidAppear中重新创建,但很难理解您为什么要这样做,只需在didReceiveMemoryWarning方法中询问即可。

  • 声明你的IBOutlets软弱,并让系统决定何时释放视图(和与它一起的网点)时,它需要。

  • didReceiveMemoryWarning方法内释放您想要在低内存条件下丢弃的任何其他对象。系统再次决定何时需要。