2012-02-22 58 views
5

我的代码有少量活动分配(根据乐器大约5 MB),但系统内存使用量却很高(超过100 MB)。我知道代码是无泄漏的,在进行一些优化后我没有看到任何分配尖峰,但由于内存使用量过高,我仍然崩溃。iOS上的虚拟内存使用率高+分配不足

我搜索了很多,看到我应该使用VM Tracker工具,这确认了我的高内存使用情况,但我不知道如何解决这种情况。我尽可能少地使用内存,但iPad 1上的内存依然过多,而且我没有知识或工具来弄清楚如何让操作系统不会在内存不像脏的时候那么脏实际使用它。我从哪里出发?

回答

0

使用Profile工具并选择内存+分配。单击虚拟机跟踪器并拍摄快照。这会产生一个列表,其中包含每个对象类型的驻留脏和虚拟内存使用量。这会给你一个指示去哪里看。

我认为最常见的问题是,你有很多autoreleased对象驻留在autoreleasepool。以下链接更详细地解释了如何处理autoreleasepools: How does the NSAutoreleasePool autorelease pool work?