Fixes the problem with:
 1. sometimes showing the wrong image in the wrong place.
 2. the spamming of async tasks (caused by various wrap_content that needed to get the view again for relayout the size)