Что знаешь о том, как работает Flutter "под капотом"
Уровень фреймворка
— всё, с чем мы работаем в момент написания приложения, и все служебные классы, позволяющие взаимодействовать написанному нами с уровнем движка. Всё относящееся к данному уровню написано на Dart. Flutter Framework
взаимодействует с Flutter Engine
через слой абстракции, называемый Window
Уровень движка
— более низкий уровень, чем уровень фреймворка, содержит классы и библиотеки, позволяющие работать уровню фреймворка. В том числе виртуальная машина Dart
, Skia
и т. д.
Уровень платформы
— специфичные механизмы, относящиеся к конкретной платформе запуска.
Flutter Engine
уведомляет Flutter Framework
, когда:
- Событие, представляющее интерес, происходит на уровне устройства (изменение ориентации, изменение настроек, проблема с памятью, состояние работы приложения…)
- Какое-то событие происходит на уровне стекла (жест)
- Канал платформы отправляет некоторые данные
- Но также и в основном, когда Flutter Engine готов к рендерингу нового кадра
Oct. 13, 2023, Источник