1

我有 5 个视图控制器,每次点击它们时都会重新加载它们。我想减少内存分配,所以在 viewDidDisappear 我将所有 IBOutlets 设为 nil ,但我仍然想减少更多内存,这是控制器保留的所有内存。我必须单独做吗,还是有什么方法可以为我带来魔力?

4

1 回答 1

0

设置IBOutletsnilinviewDidDisappear版本没有任何内容,因为这些仍将由view.

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

  • 将您的 IBOutlets 声明为弱,并让系统在需要时决定何时释放视图(以及与它一起的 outlet)。

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

于 2012-11-06T01:48:25.347 回答