当前位置:  开发笔记 > IOS > 正文

iOS中的内存崩溃,实际内存使用率仅为5美分

如何解决《iOS中的内存崩溃,实际内存使用率仅为5美分》经验,为你挑选了1个好方法。

在我的应用程序中,我一直在寻找内存泄漏一段时间.截至目前,当我在观看记忆监视器的同时在两个视图之间来回切换时,实际内存在5到6兆之间波动.这一切都很好 - 据我所知,当我从视图中弹出时,一切都正常释放.但是,每次将视图推回到视图堆栈时,虚拟内存都会继续增加并且我的可用实内存会迅速下降(即使应用程序的实际内存使用量没有增加).最终,这一切都会导致内存崩溃.这是任何特定问题的明显标志,还是我在某处错过了内存泄漏?

编辑:奇怪的是,我得到一个内存不足崩溃,而应用程序仍然只使用大约5兆的实内存.



1> bbum..:
不要使用-retainCount.

对象的绝对保留计数是没有意义的.这是一个实现细节.它可能会受到许多因素的影响,远远超出您的代码.

您应该调用release与保留对象完全相同的次数.不会少(除非你喜欢泄漏),当然,没有更多(除非你喜欢崩溃).

有关完整详细信息,请参阅内存管理指南


在这种特定情况下,您正在泄漏内存,但泄漏无法找到它.泄漏的对象仍以某种方式连接到整个应用程序的对象图.也许通过通知,也许通过委托,无所谓 - 泄漏看到了参考,并得出结论,该对象可能仍然存在.

使用分配工具.将其配置为仅跟踪实时分配(因为您不关心已解除分配的对象).用你的应用程序做一些事情.看看Allocations知道什么,并解释为什么所有这些对象应该坚持下去.您可以使用数据挖掘工具过滤到您的对象.

推荐阅读
携手相约幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有