2012-05-11 104 views
0

我在加載背景圖片之前加載另一張圖片時出現錯誤。 logcat指向內存錯誤,但背景只有17kb大小。Android背景圖片錯誤

在這裏,在事件

的序列碼
package com.firm.armouredassault; 

import android.app.Activity; 
import android.content.pm.ActivityInfo; 
import android.graphics.Bitmap; 
import android.os.Bundle; 

public class StartNewGame extends Activity { 

    MyGame ourView; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);  
    //setContentView(R.drawable.canvas); 

     ourView = new MyGame(this); 
     setContentView(ourView); 

    } 




} 

MyGame.java:

package com.firm.armouredassault; 

import android.content.Context; 
import android.graphics.Bitmap; 
import android.graphics.BitmapFactory; 
import android.graphics.Canvas; 
import android.graphics.Color; 
import android.view.View; 

public class MyGame extends View { 

    Bitmap BTank, TShell; 

    public MyGame(Context context) { 
     super(context); 
     // TODO Auto-generated constructor stub 

    } 

    @Override 
    protected void onDraw(Canvas canvas) { 
     // TODO Auto-generated method stub 
     super.onDraw(canvas); 


     canvas.drawBitmap(BitmapFactory.decodeResource(getResources(), 
       R.drawable.bluetanksm), 10, 200, null); 

    } 

} 
+0

我知道問題是與行//setContentView(R.drawable.canvas);公共類StartNewGame的擴展活動 – anwarma

+0

任何想法,我應該如何加載我用作背景畫布的背景圖像 – anwarma

回答

1

如果選擇不,當你調用BitmapFactory.decodeResource你不能把結果各不相同,在字段中,並在每次調用onDraw時重用此值。

我不認爲這是一個答案或將解決您的問題,但我想你的應用程序會感覺好多了,不必每次要在屏幕上顯示時解壓縮JPEG。

+0

試過了,但我想我沒有實現它。讓我按照您的建議嘗試另一種方法。 – anwarma