Никогда не делайте вариант № 1 так, как вы это делаете. Вместо того, чтобы создавать растровое изображение из прорисовки каждый раз, когда вы хотите нарисовать его, сначала создайте растровое изображение. То есть не создавайте Drawable, если вы собираетесь рисовать растровое изображение. Создайте растровое изображение так:
mBitmap = BitmapFactory.decodeResource(mContext.getResources(), R.drawable.myImage);
mBitmap = Bitmap.createScaledBitmap(mBitmap, width, height, true);
И это то, что вы делаете только один раз. После этого просто нарисуйте, как вы (canvas.drawbitmap ()).
Что касается варианта №2, вы делаете это правильно.
Теперь есть некоторые различия.
Вариант 1 быстрее рисовать и обычно хорош для фоновых изображений. Существенное изменение FPS зависит от того, рисуете вы растровое изображение или рисуете Растровые изображения быстрее.
Вариант 2 - это путь, если вам нужны такие вещи, как масштабирование, перемещение и другие виды манипуляций с изображением. Не так быстро, но другого выбора нет, если вы хотите сделать что-то из перечисленного.
Надеюсь, это поможет!