/ / Obrazy (bitmapa) znikają podczas rysowania na płótnie na surfaceview - Android, bitmapa, surfaceview

Obrazy (mapa bitowa) znikają podczas rysowania na płótnie na widoku powierzchni - Android, bitmap, widok powierzchni

Chcę narysować 13 różnych bitmap na płótniekorzystanie z widoku powierzchni (oczywiście istnieją inne powody korzystania z widoku powierzchni). W tym celu rozpocząłem wątek gry, w którym nazwałem metodę widoku powierzchni w nieskończonej pętli i w tej metodzie narysowałem 13 różnych bitmap w pętli.

Ale w niektórych telefonach, takich jak Samsung Galaxy S3, Galaxy S2 i Motorola, niektóre moje mapy bitowe po prostu znikają po pewnym czasie.

Oto mój kod do rysowania map bitowych:

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

}

Odpowiedzi:

0 dla odpowiedzi № 1

Oto odpowiedź. Starsze urządzenia mogą nie nadążać. Po prostu spróbuj samplować swoje mapy bitowe. Zwiększyło to dla mnie wydajność. Wygląda na to, że ekran jest czyszczony, gdy jest intensywny. Chociaż jakość jest nieco stracona.

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

public static int replaceInSampleSize (BitmapFactory.Options opcje, int reqWidth, int reqHeight);

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