Flutter 中的 main 函数和 runApp() 函数有什么区别?

Har*_*pta 6 program-entry-point run-app flutter

我倾向于问这个问题,因为大多数时候我们直接调用 runApp 函数 main 而不做任何其他事情。我的问题是为什么 runApp 和 main 保持不同?保留 main 函数或 runApp 函数而丢弃其他函数可能很简单?

dub*_*ace 6

main ()function 来自类似 Java 的语言,所以它是所有程序开始的地方,没有它,即使没有 UI,你也无法在 Flutter 上编写任何程序。

并且runApp()函数应该返回将作为将要渲染的 Widget 树的根附加到屏幕的 Widget。


Joe*_*ler 5

在 Dart 中, main() 充当程序的入口点,而 runApp() 将给定的小部件附加到屏幕上。

根据这篇文章,可以在实际附加第一个小部件之前建立配置变量。这使得 main() 和 runApp() 之间的分离非常有用。例如,您可以在附加第一个小部件之前更新以下所有内容:

  • 主题色
  • 主页
  • 用户登录状态
  • 特定于版本的小部件