View Alpha VS ARGB Color Alpha 성능


안드로이드에서 스크롤을 하면 툴바의 알파값이 바뀌는 효과를 많이들 사용하는데, 이런 알파값 변경을 할때 좀 더 성능적으로 효과적인 방법을 하나 소개하겠다. 비교된 성능은 이미 2년전 부터 알려졌지만 성능적으로 굉장히 많이 차이 나기 때문에 즉, 작은 팁으로 성능을 향상 시킬수 있는 방법이기 때문에 다시 포스팅 해본다.

 

textcoloralphaviewalpha

 

알파값을 변경하기위해 2가지 방법을 사용 할수 있는데 View 자체를 변경하기위해서 코드에서 setAlpha 메서드을 사용하거나 xml 레이아웃에서 android:alpha를 사용한다. 또하나의 방법은 View 백그라운드의 Color를 ARGB값을 이용한다.

위의 그림과 같이 View자체에 알파값을 변경하는것 보다 ARGB값을 이용하는 것이 10배이상 빠른것을 볼 수 있다. 보통 1프레임당 16ms 내로 처리를 하면 사용자는 화면에 부드럽다고 판단하게 되는데 View 알파를 변경하게 되면 1프레임당 약 50ms이상 걸리게됨으로 뭔가 끊겨 보일 수 있다.

툴바의 알파값 변경을 필요로 하는 경우라면 사소한 것이지만 ARGB값으로 배경을 변경 하는것이 훨씬 효율 적이다.