2013-04-18 71 views
0

我的問題是什麼將是最好的解決方案或解決我的問題?超大尺寸精靈表加載在android - outofmemoryerror

這是我的問題。我正在做一個Flash遊戲的2D遊戲。我有一個尺寸爲8000 x 4800的png圖片。它是一個包含10列和10行的精靈片,每個幀的尺寸爲800 x 480。我知道它對於精靈表來說是超大尺寸的,但是因爲Flash遊戲是超級動畫並且具有良好的圖形,所以我們將每個動作/場景導出到png序列以保持動畫和圖形的質量並避免計算動畫。

如果我在android中加載圖片,我得到了outofmemoryerror。我認爲這是因爲圖像的大小。我在同一個屏幕上加載了4個具有相同尺寸的圖像。請幫幫我。什麼是最好的解決方案或解決這個問題。

+1

8400x4800 = 38.4兆像素倍每像素4字節=大約154MB,假設沒有其他開銷。我知道臺式電腦可能會對此感到咳嗽......更不用說大多數圖形硬件對位圖/紋理的大小有限制。這種設計會讓你陷入困境。 – Durandal 2013-04-18 07:59:07

+0

@Durandal你認爲最好的解決方案是什麼?順便說一句,謝謝你的評論。 – Domz 2013-04-18 08:12:19

回答

0

您需要在顯示圖片之前出售圖片。

http://developer.android.com/training/displaying-bitmaps/load-bitmap.html

檢查內存中加載縮小版本下的主題。

此外,您還應該在不使用時回收位圖。像onResume()和onPause()循環位圖中的加載位圖一樣。

bitmap.recycle() 

http://www.youtube.com/watch?v=_CruQY55HOk

視頻講座是內存管理。

+0

非常感謝您的回答。我會嘗試你的建議。 – Domz 2013-04-18 08:04:13