iOS App Memory profiling
我遇到了一个问题,我的 iOS 应用程序响应点击手势的速度呈指数级增长。
这是一个字母游戏,所以循环浏览 26 张图片的列表。
使用工具,看起来内存占用量大约为 6-7 Mb:
更新:
这是我在分析器中运行的应用程序的照片。它看起来很饿 - 实际内存使用量(蓝线)在 300 - 500 Mb 范围内..
我之前没有进行过分析,发现 Instruments 应用程序非常不直观。有人可以给我一个高级指针,让我开始缩小范围吗?
一些想法:
我建议观看 WWDC 2012 视频,学习工具。
WWDC 2010 视频,使用仪器进行高级内存分析可能更多地关注内存。过去几年 Instruments 的 UI 可能有一些表面上的变化,它没有反映,但概念和想法仍然适用。
僵尸的使用非常适合在你可能有悬空指针的地方找到过度释放的项目。这在手动引用计数(MRC,即您关闭了 ARC)中非常有用,但在自动引用计数(ARC)世界中价值较小。它通过跟踪"释放"的内存来实现这一点。但它实际上会消耗内存来实现这一点。我建议您在解决过度释放问题后关闭僵尸程序,否则您会发现内存不会像其他情况那样快速返回到应用程序。
特别是如果您不使用 ARC,请检查静态分析器(按 shift command B 或在"产品"菜单上选择"分析")。这可以识别出许多常规内存管理错误。
您需要关闭 NSZombieEnabled。
转到您的方案,在运行配置中转到诊断并确保未选中启用僵尸对象框。