This “universal layout” was complex but by using techniques like ViewHolder pattern and View recycling we made sure that the list behaved itself even while holding as much as 500 results
This doesn't make sense at all! At the point they're talking about it doesn't matter anymore how many item that are not displayed at once there are. Also getItemViewType() as a pro tip!
IMO this blog post doesn't help! And an LRU cache based on number of images could be worse then none of it ends up fragmenting the heap!