如何释放视图控制器保留的所有内容



我有5个视图控制器,每次我点击它们时都会重新加载。我想减少内存分配,因此在ViewDidDisappear中,我正在制作所有iBoutlets nil,但我仍然想减少更多的内存,这就是控制器保留的所有内容。我必须单独做还是有什么方法可以为我做魔术?

IBOutlets设置为viewDidDisappear中的nil,因为view仍将保留这些内容。

不过,您可以释放其他对象,然后在viewDidAppear中重新创建,但是很难理解为什么要在didReceiveMemoryWarning方法中询问时要做。

  • 将您的iBoutlet声明为弱,让系统决定何时释放视图(以及插座以及它)。

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

最新更新