Flutter의 렌더링은 세 개의 트리를 포함합니다 — Widget 트리(구성), Element 트리(인스턴스화되어 관리되는 위젯), RenderObject 트리(레이아웃과 페인팅). 이 파이프라인을 이해하면 Flutter가 어떻게 효율적으로 위젯을 픽셀로 바꾸는지 명확해집니다.
세 개의 트리
WIDGET 트리 → 불변 CONFIGURATION (당신이 작성하는 것: UI의 기술)
→ 생성/재생성이 저렴; 자주 다시 빌드됨 (build()가 새 위젯 반환)
ELEMENT 트리 → 인스턴스화된 위젯; 생명주기를 관리하고 위젯을 render 객체에 LINK;
rebuild 전반에 걸쳐 PERSIST (이것이 효율성의 핵심)
RENDEROBJECT 트리 → 실제 LAYOUT, PAINTING, hit-testing 수행 (무거운 객체)
→ 비쌈; rebuild 전반에 걸쳐 REUSE되고 갱신됨 (재생성 아님)
