我的iOS应用程序出现了问题,以响应轻击手势的速度呈指数级增长。
这是一个字母游戏,所以循环显示26张图片。
使用仪器,看起来内存占用大约为6-7 Mb:
更新: 这是我在探查器中运行的应用程序的一个镜头..它看起来很饿 - 在300 - 500 Mb范围内的实际内存使用量(蓝线)..
我之前没有介绍过,发现Instruments应用程序非常不直观。有人可以给我一个高级指针让我开始缩小范围吗?
答案 0 :(得分:4)
有几点想法:
我建议观看WWDC 2012视频,Learning Instruments。
WWDC 2010视频Advanced Memory Analysis with Instuments可能更多地关注内存。在过去几年中,仪器可能会有一些表面的UI变化,但它没有反映出来,但概念和想法仍然适用。
使用僵尸非常适合查找可能有悬挂指针的已发布项目。这在手动参考计数(MRC,即你关闭ARC)方面非常有用,但在自动参考计数(ARC)世界中价值较低。它通过跟踪“释放”的记忆来实现这一点。但它实际上消耗内存来实现这一目标。一旦你解决了你的过度释放问题,我建议关闭僵尸,否则你会发现内存不会像你原来那样快速地返回到应用程序。
特别是如果您不使用ARC,请查看静态分析器(按 shift + 命令 + B 或选择“分析“在”产品“菜单上”。这标识了许多例行的内存管理错误。
答案 1 :(得分:0)
您需要关闭NSZombieEnabled。
转到您的方案,并在运行配置中转到诊断程序,并确保未选中启用僵尸对象框。