【发布时间】:2012-03-18 18:09:16
【问题描述】:
我的 iOS 应用出现了一个奇怪的问题。 过了一会儿,我的应用程序内存不足,所以内存警告,一切似乎都很好,但是当我检查内存使用情况时,我注意到所有对 viewDidUnload 的调用都没有释放大量内存,所以在我的点击几下后应用程序,它再次出现内存警告,一切似乎又好了,但没有释放很多内存,所以它再次进入内存警告更快,然后它崩溃(大部分时间在第三次内存警告之后) .这个崩溃是随机的:应用程序冻结,应用程序离开,我的调试器说应用程序暂停,但没有错误的访问或 sigbort,没有僵尸。 我的猜测是内存警告无法释放足够的内存。
(我检查了我所有的 viewDidUnload 并将 viewDidLoad 中分配的每个对象设为 nil)
任何帮助都会很有用!
非常感谢。
【问题讨论】:
-
注释:我的代码使用了大量下载的图像。
-
您的应用程序中可能有循环引用,但实际上无法从这个描述中看出。 ARC 很棒,但它不是魔法。
-
这是一个想法,我会检查一下,谢谢
-
祝你好运。 :)
-
我刚刚发现了这一点,这就是为什么我要评论一个旧线程。 viewDidUnload 自 iOS 6 起已弃用,并且不保证会被调用(根据我的经验,大多数时候都不会调用它)。
标签: ios memory memory-management automatic-ref-counting