在surfaceview上绘制画布时,图像(位图)正在消失

时间:2013-10-03 07:12:53

标签: android bitmap surfaceview

我想使用表面视图在画布上绘制13个不同的位图(显然,使用表面视图还有其他一些原因)。为此我开始了一个游戏线程,我在其中调用了无限循环中的表面视图方法,在这个方法中,我在循环中绘制了13个不同的位图。

但是在三星galaxy s3,galaxy s2和摩托罗拉设备等手机中,我的一些位图在一段时间后才消失。

以下是我绘制位图的代码:

for (int i = 0; i < 13; i++) {              

            // Drawing Bushes
            canvas.drawBitmap(assets.bushes[this.bushes[i].frameNo - 1], null,
                    camera.getScaledRect(bushes[i].bounds.getRect()),
                    bitmapPaint);

            /*
             * drawBitmap(canvas, bushes[i],
             * assets.bushes[this.bushes[i].frameNo - 1], camera);
             */

            // Drawing Waves
            if (waves[i].alpha != 0) {
                bitmapPaint.setAlpha((int) (waves[i].alpha * 255));
                canvas.drawBitmap(assets.waves[this.waves[i].frameNo - 1],
                        null, camera.getScaledRect(waves[i].bounds.getRect()),
                        bitmapPaint);
                bitmapPaint.setAlpha(255);
            }    

        }

1 个答案:

答案 0 :(得分:0)

这可能是一个答案。较旧的设备可能无法跟上。试试你的位图。这增加了我的表现。屏幕似乎在密集时被擦除。虽然质量有点下降。

http://developer.android.com/training/displaying-bitmaps/load-bitmap.html

public static int calculateInSampleSize(BitmapFactory.Options options,int reqWidth,int reqHeight);

public static Bitmap decodeSampledBitmapFromResource(Resources res,int resId,int reqWidth,int reqHeight)

相关问题