2012-02-22 69 views
5

我的代碼有少量活動分配(根據樂器大約5 MB),但系統內存使用量卻很高(超過100 MB)。我知道代碼是無泄漏的,在進行一些優化後我沒有看到任何分配尖峯,但由於內存使用量過高,我仍然崩潰。iOS上的虛擬內存使用率高+分配不足

我搜索了很多,看到我應該使用VM Tracker工具,這確認了我的高內存使用情況,但我不知道如何解決這種情況。我儘可能少地使用內存,但iPad 1上的內存依然過多,而且我沒有知識或工具來弄清楚如何讓操作系統不會在內存不像髒的時候那麼髒實際使用它。我從哪裏出發?

回答

0

使用Profile工具並選擇內存+分配。單擊虛擬機跟蹤器並拍攝快照。這會產生一個列表,其中包含每個對象類型的駐留髒和虛擬內存使用量。這會給你一個指示去哪裏看。

我認爲最常見的問題是,你有很多autoreleased對象駐留在autoreleasepool。以下鏈接更詳細地解釋瞭如何處理autoreleasepools: How does the NSAutoreleasePool autorelease pool work?