Como redimensionar um bitmap com eficiência e sem perder qualidade no android

Eu tenho umBitmap com um tamanho de320x480 e preciso esticá-lo em diferentes telas de dispositivos, tentei usar o seguinte:

Rect dstRect = new Rect();
canvas.getClipBounds(dstRect);
canvas.drawBitmap(frameBuffer, null, dstRect, null);

funciona, a imagem preenche toda a tela como eu queria, mas a imagem é pixelizada e parece ruim. Então eu tentei:

float scaleWidth = (float) newWidth / width;
float scaleHeight = (float) newHeight / height;
Matrix matrix = new Matrix();
matrix.postScale(scaleWidth, scaleHeight);
Bitmap resizedBitmap = Bitmap.createBitmap(frameBuffer, 0, 0,
                width, height, matrix, true);
canvas.drawBitmap(resizedBitmap, 0, 0, null);

desta vez parece perfeito, agradável e suave, mas esse código deve estar no meu loop principal do jogo e criarBitmap cada iteração torna muito lento. Como posso redimensionar minha imagem para que ela não fique pixelizada e seja feita rapidamente?

Encontrar a solução:

Paint paint = new Paint();
paint.setFilterBitmap();
canvas.drawBitmap(bitmap, matrix, paint);

questionAnswers(2)

yourAnswerToTheQuestion