Android: Overdraw, What is it and Why Should You Care?

I recently read this blog post,  Android Performance Case Study by Romain Guy, on profiling an application that he used regularly to determine why there were occasional hiccups.  I used one of the tools he recommended, Debug GPU Overdraw, to see how the PostTV Application was behaving. With one minor tweak I was able to reduce the overdraw by 1x.  So what does overdraw mean anyway?



Overdraw is when you draw pixels on top of each other potentially effecting the speed with which your application draws views on the screen.  Ideally you don't want to have more than "2.5 times the number of pixels on screen per frame."  And the different colors each represent how many times the pixel has been painted on the screen.

Taken directly from Romain's post:




So by simply removing the background color that was assigned to my main layout, I was able to get a 1x overdraw instead of a 2x. Which is why most of the app is now a happy blue color!