我目前正在爲學校開發一款簡單的Android遊戲,遊戲在內存不足和崩潰之前運行一段時間。我懷疑這與我在遊戲中使用的圖像數量有關(對於10個以上的項目/字符/按鈕,小型的10-20 KB大小的文件,以及用於啓動畫面的非常大的450 KB PNG文件背景)。活動中的背景位圖圖像?
我一直在使用BitmapFactory解碼所有我的小項目PNG格式的,我也能夠將背景設置爲我的主要GameView因爲這樣(只包含的示例代碼的最低限度):
public class GameView extends SurfaceView implements SurfaceHolder.Callback {
private Bitmap background, invincibleBitmap;
//Sets the background bitmap to an image scaled to the same size as the user's screen
background = Bitmap.createScaledBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.background), getWidth(), getHeight(), false);
invincibleBitmap = Bitmap.createScaledBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.invincible_item), 60, 60, false);
對於我前面提到的啓動畫面,但是,我已經使用活動的佈局XML文件來設置圖像,從而得到:
android:background="@drawable/main"
我希望能夠擴展main.png以同樣的方式我在一個活動視圖中做過,希望能夠幫助內存超載blem。我會如何去做這件事?我一般是Android的初學者,所以解決方案越簡單越好。
圖片使用的內存與文件大小無關。它與圖像的規格有關。 widthxheight – hasan83 2014-11-23 23:45:50
你不應該在啓動畫面上做到這一點。作爲快速解決方案。將主圖像複製並粘貼到所有可繪製文件夾。所有文件夾中的相同圖像。令人驚訝的是你會看到一個不同的。 – hasan83 2014-11-23 23:49:18
但是,不要只是這樣做。您應該爲每個屏幕分辨率類別(xx,x,l,m)提供主圖像的4個圖像。那你如何開發android應用程序。 – hasan83 2014-11-23 23:51:08