2012-05-11 79 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