2012-10-12 57 views
1

我需要在我的遊戲啓動之前加載5MB的高清圖像(用於iPad)。它在加載進程中的某處崩潰。那麼,爲了確認這是5MB的問題,我嘗試加載2.5MB的LD圖像(iPhone質量)。它運行良好,沒有崩潰。加載5MB圖像崩潰iPad

這是否意味着我無法保留5MB或更多內存?應該有辦法做到這一點。

當更多應用程序在後臺掛起時,會發生這種情況更頻繁。如果我在乾淨的重新啓動後立即運行遊戲,它不會崩潰。因此,它必定是一個內存問題,導致我的遊戲崩潰。

任何想法如何處理這個?

回答

1

壓縮圖像數據的5MB可以很容易地explose許多(4X-10X)對存儲器的要求讓他們未壓縮

任何想法如何我可以處理這個?

使用Apple的儀器並查看內存使用情況。

接下來確保iOS本身沒有緩存圖像(查看你使用的API和他們的文檔,有些會緩存,其他人不會)。

然後看看你是否可以更早地處理圖像。圖像可能相當大(iOS內部有很多內存,這就是爲什麼使用Instruments會給你一個比MonoTouch自己的HeapShot profiler更好的圖像),所以手動處理它(而不是等待GC通常是好的理念)。

另外看看你是否可以延遲加載一些圖像(或至少他們的解壓縮版本),例如在第一個(一個或多個)被佈置之後。

+0

是的,謝謝你提醒我這一點。我得到的所有圖像都是壓縮​​的(png或jpg)。可能我不得不重新思考我的記憶管理策略。 –