how i will solve this problem: 1) onMeasure/onLayout/onDraw calculate what scale we need. 2) If current cached value is not valid - launch coroutin that will prepare image for needed scale 3) when corouting finished - set new cached scale and image and force view to redraw