я установил свой фоновый рисунок в surfaceCreated(), используя этот код:SurfaceView фон замедляет OnDraw 20-30 мс
Bitmap background = BitmapFactory.decodeResource(getResources(), R.drawable.untitled);
float heightScale = ((float)background.getHeight())/(float)this.getHeight();
float widthScale = (float)background.getWidth()/(float)this.getWidth();
float scale = heightScale > widthScale ? widthScale : heightScale;
int newWidth = Math.round((float)background.getWidth()/scale);
int newHeight = Math.round((float)background.getHeight()/scale);
scaled = Bitmap.createScaledBitmap(background, newWidth, newHeight, true);
Чешуйчатого быть защищенным растровой. В функции OnDraw(), у меня есть это:
canvas.drawBitmap(scaled, 0, 0, null); // draw the background
Что замедляет мой рисунок на 20-30 мс по сравнению с использованием этого:
canvas.drawColor(Color.Black);
Есть ли способ обойти это? Ускорение фона функции onDraw? Я заметил, что если я не установлю фон, приложение не очистит спрайты, которые я нарисовал.