【问题标题】:How to find out the biggest memory leaks?如何找出最大的内存泄漏?
【发布时间】:2011-08-15 07:36:12
【问题描述】:
对于我的 iOS 应用程序使用 xcode4 工具进行调优,
实际内存使用量从 10+ MB 增加到 100+ MB
(我使用 iPod 进行测试,怀疑我的应用程序可以使用 100+ MB 的内存,不可能?)
按字节排序,最大的内存块好像只有100 KB,好像无意义
找出最大的内存泄漏有什么好的做法吗?
谢谢
【问题讨论】:
标签:
ios
memory
memory-leaks
instruments
【解决方案1】:
如果它显示超过 100MB,那么您可能使用了那么多 - 这就是内存泄漏可能导致的原因:由于没有释放分配的内存,即使内存块本身很小,它也会累积成很大的数字。如果你创建很多块,那么很多 100Kb 的块可以加起来很多内存。
因此,不仅要查看最大的内存块,而且最重要的是要查看内存块的数量或活动对象的数量。制作堆快照并比较它们 - 在预热您的应用程序(预热意味着填充缓存和变量)之后,您应该不会再看到活动对象数量的增加。