我只在iOS 5.0中遇到了一个问题,当一个模态视图存在时,接收到的低内存警告有时会给我留下一个白色的屏幕--我相信这是因为我的选项卡条控制器释放了它的所有视图。
相同的场景不会导致iOS 4.0中的问题。我能想到两种解释:
在5.0之前的版本中,我过去能够通过释放一些额外的内存来响应低内存警告。在5.0中,这似乎是我第一次收到低内存警告时,我的模态视图控制器下的所有东西都会清除它的视图。跟踪确认,在内存警告之后,模态视图控制器下的任何控制器都将其view字段设置为nil。
有人能告诉我iOS 5是如何处理低内存情况和早期版本的信息(最好是来自苹果)吗?我希望在必要的时候能够释放一些记忆,而不是让我的所有观点都被清除。
发布于 2012-02-04 21:55:33
发布于 2013-01-25 04:55:20
我也有同样的问题,并解决了它。问题是,在viewDidUnload方法中,我们通过xib连接的出口设置为零。当内存警告发生时,将对当前不可见的所有视图调用此方法。当我们回到这些视图时,将再次调用它们的viewDidLoad方法。解决这个问题的唯一方法是将setNil方法从viewDIdUnload移到dealloc方法,一切都会正常工作。
https://stackoverflow.com/questions/9144343
复制相似问题