当前位置:   article > 正文

【flutter启动分析】

【flutter启动分析】

flutter启动分析的入口:

void main() {
  runApp(const MyApp());
}

main函数会调用runapp();

  1. void runApp(Widget app) {
  2. //生成对象给下面两个领域
  3. //Flutter Framework ---调用到---胶水对象---》Flutter 的C++ Engine(so库这种)
  4. final WidgetsBinding binding = WidgetsFlutterBinding.ensureInitialized();
  5. assert(binding.debugCheckZone('runApp'));
  6. binding
  7. // 自动检测app 完成渲染树
  8. ..scheduleAttachRootWidget(binding.wrapWithDefaultView(app))
  9. //绘制渲染树 生成Layer图层 通过Flutter Engine 渲染到Flutter view中
  10. ..scheduleWarmUpFrame();
  11. }

runApp 方法用于将给定的根组件附加到屏幕上,并将其作为应用程序的根组件运行。以下是注释中提到的几个重要点:

  1. 该方法会给定约束条件,在布局期间强制使根组件填充整个屏幕。这意味着根组件会占据整个屏幕的空间。

  2. 如果希望将组件对齐到屏幕的一侧(例如顶部),可以考虑使用 Align 组件。如果要将组件居中显示,也可以使用 Center 组件。

  3. 当调用 runApp 方法时,将会将给定的根组件附加到屏幕上。如果之前已经有根组件,那么它将会被替换掉。新的组件树会与之前的组件树进行比较

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/406610
推荐阅读
相关标签
  

闽ICP备14008679号