0

在加载背景图像之前加载背景图像时出现错误。logcat 指向内存错误,但背景大小只有 17kb。

这里是事件序列中的代码

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);

    }

}
4

1 回答 1

1

如果调用 BitmapFactory.decodeResource 时选项不变,难道不能将结果放在字段中,并在每次调用 onDraw 时重用该值。

我不认为这是一个答案,也不会解决你的问题,但我想你的应用程序会感觉好多了,不必每次你想在屏幕上显示它时都解压缩 jpeg。

于 2012-05-11T00:32:41.910 回答