android canvas 背景图片

android canvas background image

你好,我正在使用 canvas 和位图为 android 制作一个简单的游戏,我一直在阅读有关这如何占用大量设备资源的信息,但我找不到最佳的嵌入方式 这是我到目前为止的代码,请告诉我它是否有误,或者是否有更好的方法来简单地设置游戏的背景图像

public SurfaceV(Context context){
    super(context);
    holder = getHolder();
    thread = new Thread(this);
    thread.start();
}

@Override
public void run(){
    while(running){
        if(!holder.getSurface().isValid()){
            continue;
        }

        Canvas canvas = holder.lockCanvas();
        canvas.drawRGB(0, 0, 0);

        Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.sky);
        Bitmap scaledBitmap = Bitmap.createScaledBitmap(bitmap, canvas.getWidth(),    canvas.getHeight(), true);

        canvas.drawBitmap(scaledBitmap, 0, 0, null);

        holder.unlockCanvasAndPost(canvas);
    }
}

decodeResources 和 createSCaledBitmap 调用占用大量资源(内存,cpu)。将它们从循环中移出,仅 运行 一次