1

我不知道太多信息,didReceiveMemoryWarning但考虑到我在其他帖子上阅读并在文档中查找的内容,我发现在 iOS 5 的情况下,任何不可见的视图控制器都会转储其视图,但如果iOS 6文档(文档说默认实现“退出”,我不知道我应该如何理解。

我一直在使用模拟低内存警告的 iOS 模拟器进行一些测试,我很感激(在 iOS 5 上)如果我在堆栈的第二个视图中并且我模拟了低内存警告,没有任何反应当前视图,但是如果我返回上一个视图,并且按预期再次调用 viewDidLoad,但是在 iOS 6 的情况下,没有发布以前的视图,我的意思是什么,这是我的问题:什么如果未发布视图,在 iOS 6 上的后果是didReceiveMemoryWarning什么,我是否应该担心其他我不考虑的事情?即使没有发布视图,也可以释放类变量(例如 NSMutableArray)之类的东西?

4

1 回答 1

1

您只有更多的控制权views are no longer purged under low-memory conditions and so this method [viewDidUnload] is never called(不推荐使用的UIViewController 方法)。

如果视图构建起来很昂贵但又不那么需要内存,那么您可能不会释放它。据我所知,iOs 不会在内存警告的情况下发布任何内容,决定完全取决于您、使用didReceiveMemoryWarning或其他通知技术(请参阅观察内存不足警告部分)。

WWDC 2012 Session 236: The Evolution of View Controllers on iOS可能会让你感兴趣。

于 2013-03-13T18:39:41.913 回答