我處於我的iPhone遊戲開發的最後階段:優化和性能調優。 我的問題是,遊戲在iPhone 4和iPad上運行的非常流暢,但由於內存不足,它經常在iOS 3.1.3的iPhone 2上崩潰。iPhone內存使用優化/性能調整
我已經通過了所有的內存泄漏檢測/清理過程,並且除了系統庫中的內容外,Xcode儀器顯示沒有泄漏(參見以下屏幕截圖)。我也很少使用「autorelease」。
(大局觀:click here)
我也用異形「CPU採樣器」和「分配」我的應用程序,而是以結果有點困惑。這是由「分配」標杆結果:
(大局觀:click here)
這是一個博弈之後的結果。正如你所看到的,「Live Bytes」只有3.93MB,根據我的理解,這應該不是什麼大問題 - 但是這款遊戲通常會在iPhone 2,ios 3.1.3上崩潰。
我也做了一個 「CPU採樣」 的基準,以下是結果:
(大局觀:click here)
什麼困惑我的是,真正的記憶顯示 「22.32MB」 和虛擬內存大於100MB,這與「分配基準」的結果有很大不同。
我也很困惑,我的iPhone 3G,運行iOS 4.1,即使它有幾乎完全相同的硬件規格與iPhone 2,可以很好地運行我的遊戲。速度很慢,速度並不快,但很少崩潰。
所以我的問題是:
- 我還有什麼可以做,以確定在iphone 2低內存問題?
- 系統庫泄漏「泄漏」分析會導致問題嗎?
- 爲什麼「CPU採樣器」和「分配」顯示不同的內存足跡?我讀了他們正確嗎?
- 爲什麼iPhone 3G運行比iPhone 2G更流暢?是否因爲更新的iOS版本(4.1 vs 3.1.3)?
您的內存使用情況顯示了一些公平的漏洞,我肯定會將此作爲開始。 – Devraj 2011-06-07 22:31:51
感謝提示,Devraj! 「泄漏」概要分析結果中的許多條目顯示「沒有可用於此塊的堆棧跟蹤」。任何想法如何追查這些問題? – 2011-06-08 18:01:09