Я пытался понять Flutter и как рендеринг работает под капотом. Я смотрел видео о том, "Как флаттер отображает виджет?" Как работает рендеринг Flutter? Я узнал, что строятся 3 дерева (Widget, Element и Render Tree). В Video Widget - это макет макета, Element - это конфигурация, а Render Tree выполняет фактическую прорисовку. Я все еще не могу понять, как в видео, Мэтт Суллиман говорит об этих трех следующим образом:
- Виджет: неизменное описание пользовательского интерфейса (означает, что он не изменится?), Также он описывает настройка элемента.
- Элемент: создание экземпляра виджета в дереве виджетов в определенном месте. (BuildContext?)
- Визуализация: обрабатывает размер, рисование и другие вещи низкого уровня.
Моя главная проблема в том, что в 6:36 видео Мэтт Суллиман говорит, что Element представляет фактическая часть пользовательского интерфейса. Эта часть меня очень смущает. Потому что, если элементы являются конфигурацией в соответствии с аналогией конфигурации, жизненного цикла и рисования. Таким образом, Render Tree должен быть частью пользовательского интерфейса. Я не получил эту часть.
Есть ли аналогия или простой способ, которым я могу понять, какова ответственность каждого дерева ?