didReceiveMemoryWarning在iOS 6中

问题描述:

我开始一个新项目(不包括ARC)中定位iOS 6. Apple docdidReceiveMemoryWarning在iOS 6中

使用此方法来取消分配与 您的视图控制器相关的所有非关键对象。在iOS 6上,您还可以使用此方法以 发布引用来查看对象。

我的问题是当我们解除分配中didReceiveMemoryWarning“非关键对象”,我们什么时候可以恢复的“非关键对象”了?

我在问这个问题,因为因为viewDidUnload永远不会在iOS6中调用,所以我认为viewDidLoad不会在程序终止前第二次调用。我对吗?

+0

“我认为viewDidLoad在程序终止之前不会被第二次调用......(对了吗?)”是的。 – matt 2013-05-11 01:59:46

+2

为什么有人不使用ARC?只是问问'。 – matt 2013-05-11 02:02:03

+0

感谢您的评论和友好协助。在ARC退出之前已经开始了我的第一个项目,并已经习惯了RC方案。听说ARC不应该有任何性能损失,并且可以节省大量工作。但是我非常喜欢非ARC方案,并且不会觉得有很多开销来关注r值。 – Stanley 2013-05-11 11:07:35

对您的非关键数据使用延迟加载。清除didReceiveMemoryWarning中的这些数据。然后,数据将在您下次尝试访问时再次延迟加载。

+1

下面是一些实际的代码,说明了@rmaddy所说的内容:http://www.apeth.com/iOSBook/ch19.html#SECvcmem – matt 2013-05-11 02:01:13

+0

感谢你都为你提供详细的答案和有用的评论。 – Stanley 2013-05-11 11:23:32

+0

非常好的一点! +1 – 2013-05-11 17:29:54