TLT, да мне бы понять, как это делается на "низком" уровне - через Canvas и Bitmap.
Пока к такому пришёл.
Сначала отрисовываем карту уровня и выводим в ImageView
Код
Bitmap bitmap = Bitmap.createBitmap(512, 512, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
//Отрисовываем карту
imageView.setImageBitmap(bitmap);
Замена блока - отрисовка блока на Canvas по определённым координатам, и выводим в ImageView.
Естественно, в отдельном потоке.
Самое тяжелое здесь imageView.setImageBitmap, но для не слишком частой перерисовки вроде должно подойти?