티스토리 뷰

안드로이드가 view를 그리는 것은 다음과 같다.

  • Measure

    • 시스템은 각 ViewGroup 및 View 요소의 크기를 결정하기 위해 하향식으로 뷰 트리를 탐색한다.

    • ViewGroup이 측정되면 자식도 측정한다.

  • Layout

    • 측정 단계에서 결정된 크기를 사용하여 각 ViewGroup이 자식의 위치를 결정하는 또 다른 하향식 탐색을 한다.

  • Draw

    • 뷰 트리의 각 객체에 대해 Canvas 객체가 생성되어 그리기 명령어들을 GPU로 보낸다.

    • 이 명령에는 시스템이 결정한 ViewGroup 및 View 객체의 크기와 위치가 포함된다.

 

즉, 그리는 과정에서 모든 단계마다 뷰 트리에 대한 하향식 탐색을 필요로 한다. 따라서 각 뷰 계층내에 포함시킨 뷰가 많을 수록 더 많은 연산 시간과 능력이 필요하다. 앱 레이아웃들이 수평적인 계층을 유지하는 것이 앱을 더 빠르게 만든다.

 

ConstraintLayout을 사용하는 것이 좋다.

자세한 Layout 별 성능비교와 ConstraintLayout에 대해 공부하고 정리하겠다.

 

 

참조

https://android-developers.googleblog.com/2017/08/understanding-performance-benefits-of.html

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함