我有5个viewControllers,每次点击它们都会重新加载。我想减少内存分配,所以在viewDidDisappear我使所有的IBOutlets都没有,但我仍然希望减少更多的内存,这是控制器保留的全部内容。我是否必须单独进行,还是有任何方法可以为我做出魔力?
答案 0 :(得分:0)
在IBOutlets
中将nil
设置为viewDidDisappear
不会发布任何内容,因为view
仍会保留这些内容。
您可以释放其他对象,然后在viewDidAppear
中重新创建,但很难理解为什么要这样做,只需在didReceiveMemoryWarning
方法中询问时就这样做。
将您的IBOutlets声明为弱,并让系统在需要时决定何时释放视图(以及出口)。
在didReceiveMemoryWarning
方法内的低内存条件下释放要删除的任何其他对象。系统再次决定何时需要。