如何找出最大的内存泄漏?

发布于 2024-11-04 05:05:53 字数 325 浏览 1 评论 0原文

对于我的 iOS 应用程序使用 xcode4 的工具进行调优,

  • 使用活动监视器

实际内存使用量从 10+ MB 增加到 100+ MB (我使用 iPod 进行测试,怀疑我的应用程序可以使用内存到 100+ MB,不可能吗?)

  • 使用内存泄漏

按字节排序,最大的内存块似乎只有 100 KB,看起来像无意义 有

什么好的做法可以找出最大的内存泄漏吗?

谢谢

For my iOS app tuning with instruments of xcode4,

  • Using activity monitor

Real memory usage increase from 10+ MB to 100+ MB
(I use iPod for testing, doubt that my app can use memory to 100+ MB, impossible ? )

  • Using memory leaks

Sort up with bytes, the biggest memory blocks seem only 100 KB, seem like non-sense

Any good practice to find out the biggest memory leaking ?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

丘比特射中我 2024-11-11 05:05:53

如果它显示您超过 100MB,那么您可能使用了这么多 - 这就是内存泄漏可能导致的原因:由于没有释放分配的内存,即使内存本身阻塞了一个小块,它也可能累积成一个大数字。如果您创建大量 100Kb 块,那么它们总计会占用大量内存。

因此,不仅要查看最大的内存块,而且首先要查看内存块的数量或通常存活对象的数量。制作堆快照并比较它们 - 预热应用程序后(预热意味着填充缓存和变量),您不应该再看到活动对象数量的增加。

If it shows you 100MB+ then you probably use that much - this is what a memory leak can cause: because of not freeing allocated memory, even if memory blocks a small per se, it can cumulate to big numbers. And a lot of 100Kb blocks can sum up to a lot of memory, if you create lots of them.

So look not only on the biggest memory block but above all for the number of memory blocks or generally number of living objects. Make heap snapshots and compare them - after warming up you applications (warming means filling caches and variables) you should not see an increase in number of living objects any more.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文