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)。将它们从循环中移出,仅 运行 一次
你好,我正在使用 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)。将它们从循环中移出,仅 运行 一次