Olá.
No exemplo abaixo, a memória vai encher de objetos ou será apenas um (01) objeto criado na memória? Tem alguma desvantagem nesse código? Está correto fazer dessa forma?
private Bitmap bitmap() 
{
        Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), arquivoDeImagem);
        return (Bitmap.createScaledBitmap(bitmap, width, height, false));
} 
// CHAMADO NO RUN (runnable - desenhaNo(canvas))
public void desenhaNo(Canvas canvas) 
{
    if(condicao) 
    { arquivoDeImagem = R.drawable.objeto1; }
    else 
    { arquivoDeImagemDoSol = R.drawable.objeto2; }           
    canvas.drawBitmap(bitmap(), floatLeft, floatTop, null);
}