我的代码具有较少的活动分配(根据Instruments约为5 MB),但系统内存使用量较大(超过100 MB).我知道代码是无泄漏的,并且在一些优化之后我没有看到任何分配峰值,但是由于内存使用量很大,我仍然在崩溃.
我google了很多,看到我应该使用VM Tracker仪器,这证实了我的高内存使用率,但我不知道如何解决这种情况.我正在使用尽可能少的内存,它在iPad 1上仍然太多了,我没有知识或工具来弄清楚如何让操作系统不要将那么多内存标记为脏而不是我不是实际上使用它.我从哪里开始?
小智 0
使用配置文件工具并选择内存+分配。单击虚拟机跟踪器并拍摄快照。这会生成一个列表,其中包含每个对象类型的驻留脏内存和虚拟内存使用情况。这将为您提供查看位置的指示。
我认为最常见的问题是你有很多自动释放的对象驻留在自动释放池中。以下链接解释了有关如何处理自动释放池的更多信息: How does the NSAutoreleasePool autorelease pool work?