android画布背景图片

时间:2015-01-14 06:46:04

标签: java android canvas bitmap

你好我正在使用画布和位图为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);
    }
}

1 个答案:

答案 0 :(得分:0)

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