Android Version 4.2부터 Developer Options에 추가된 Show GPU overdraw 옵션을 통해

최적화되지 않는 layout들을 확인해보다가 부주의하게 사용한 layer-list(drawable)의 경우

overdraw를 발생시킨다는 사실을 알았다.

위의 layer-list는 가운데 영역에 gradient 효과를 주고 위/아래로 경계선을 갖는 drawable이다.

위의 layer-list는 문제없이 화면에 그려지지만  Show GPU overdraw 옵션을 활성화한 뒤, 확인해보면 가운데 Gradient 영역이 총 3번씩(붉은색 표시) 그려지는 것을 확인할 수 있다.

이유를 확인해보면 위/아래 경계선을 그리기 위해 solid를 사용했기때문이다.

 

solid 대신 stroke를 이용해 경계선을 그리면 overdraw되는 영역을 없앨 수 있다.