我的代码有少量的事件分配(根据 Instruments 大约 5 MB),但系统内存使用量很大(超过 100 MB)。我知道代码没有泄漏,经过一些优化后我没有看到任何分配峰值,但由于内存使用量过高,我仍然崩溃。
我用 Google 搜索了很多,发现我应该使用 VM Tracker 工具,这证实了我的内存使用率很高,但我不确定如何解决这种情况。我正在使用尽可能少的内存,它在 iPad 1 上仍然太多,而且我没有知识或工具来弄清楚如何让操作系统在我不使用时不将这么多内存标记为脏实际使用它。我从这里去哪里?
最佳答案
使用配置文件工具并选择内存+分配。单击 VM 跟踪器并拍摄快照。这会生成一个列表,其中包含每个对象类型的常驻脏内存和虚拟内存使用情况。这会给你一个指示去哪里看。
我认为最常见的问题是你有很多自动释放的对象驻留在自动释放池中。以下链接详细说明了如何处理自动释放池: How does the NSAutoreleasePool autorelease pool work?
关于ios - iOS 上的高虚拟内存使用率 + 低分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9402061/