Android가 View를 그리는 방법

<aside> 💡 Android 프레임워크는 유효한 영역에 없는 View 객체를 그리지 않음. invalidate() 메서드를 호출하여 View를 강제로 그릴 수 있음.

</aside>

두 가지 패스 프로세스

Measure Pass(측정 패스)

측정 패스를 정리하자면, measure 단계에서 ViewGroup.LayoutParams 를 사용하여 View의 크기를 알아보고, MeasureSpec 을 생성하여 onMeasure를 호출 후, onMeasure 에서 MeasureSpec 에 기반한 최종적은 View의 크기를 결정함.

Layout Pass(레이아웃 패스)

레이아웃 트리 그려지는 과정