위젯은 UI의 config를 가지고있다.
엘레멘트는 위젯과 렌더오브젝트를 관리한다. (update를 관리)
렌더오브젝트는 실제로 UI를 그린다.
우리는 위젯을 선언적인 방식으로 작성하고, 실제로 UI의 라이프사이클을 관리하고 화면에 그리는건 각각 엘레멘트와 렌더오브젝트가 한다.
즉 우리가, 이 ‘컨테이너는 10만큼의 패딩을 가진 컨테이너야’ 라고 하면 플러터는 위젯에 대한 엘레멘트를 생성하고, 엘레멘트는 렌더오브젝트를 생성한다.
엘레멘트는 위젯과 렌더오브젝트 사이에서 둘에 대한 레퍼런스를 가지며 트리를 관리한다.
렌더오브젝트는 위젯을 참고하며 화면을 그린다.
심플하게 정의하면 이렇게된다.
위젯 - 엘레멘트 - 렌더오브젝트
Configuration for UI - lifecycle, WidgetTree Manager - Paint Object
'Flutter' 카테고리의 다른 글
[플러터] 상태관리 라이브러리들의 동작원리 (0) | 2021.09.04 |
---|---|
스크롤 이벤트 처리하기 [ NotificationListener ] (0) | 2021.09.04 |