我有5个视图控制器,每次我点击它们时都会重新加载。我想减少内存分配,因此在ViewDidDisappear中,我正在制作所有iBoutlets nil,但我仍然想减少更多的内存,这就是控制器保留的所有内容。我必须单独做还是有什么方法可以为我做魔术?
将IBOutlets
设置为viewDidDisappear
中的nil
,因为view
仍将保留这些内容。
不过,您可以释放其他对象,然后在viewDidAppear
中重新创建,但是很难理解为什么要在didReceiveMemoryWarning
方法中询问时要做。
-
将您的iBoutlet声明为弱,让系统决定何时释放视图(以及插座以及它)。
-
释放要在
didReceiveMemoryWarning
方法内部低的内存条件下丢弃的任何其他对象。系统再次决定何时需要。