Nigdy nie rób opcji numer 1 tak, jak to robisz. Zamiast tworzyć bitmapę z losowania za każdym razem, gdy chcesz ją narysować, najpierw utwórz mapę bitową. To znaczy, nie twórz Drawable, jeśli zamierzasz narysować bitmapę. Utwórz bitmapę w następujący sposób:
mBitmap = BitmapFactory.decodeResource(mContext.getResources(), R.drawable.myImage);
mBitmap = Bitmap.createScaledBitmap(mBitmap, width, height, true);
I to jest coś, co robisz tylko raz. Potem po prostu rysuj, jak robisz (canvas.drawbitmap()).
Jeśli chodzi o opcję numer 2, robisz to poprawnie.
Teraz są pewne różnice. Opcja 1 jest szybsza do rysowania i zwykle jest dobra dla obrazów tła. Istnieje znacząca zmiana w FPS w zależności od tego, czy rysujesz bitmapę, czy rysujesz. Mapy bitowe są szybsze.
Opcja 2 to droga, którą można przejść, jeśli potrzebne są takie rzeczy jak skalowanie, przenoszenie i inne rodzaje manipulacji obrazem. Nie tak szybko, ale nie ma innej opcji, jeśli chcesz zrobić którąś z wymienionych rzeczy.
Mam nadzieję, że to pomoże!
Dziękuję za odpowiedź, to ma sens :) – Sven