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



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

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

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

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

main ()函数来自类Java语言,因此它是所有程序的起点,没有它,即使没有UI,也无法在Flutter上编写任何程序。

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

每个Dart程序都需要

main()——它是应用程序的入口点。在Flutter应用程序中,这也应该调用runApp()来启动框架。

Flutter是一种框架,而Dart是一种语言。

main((函数启动Dart语言的执行,Dart语言又提供了加载Flutter组件的方法,Flutter组件是runApp((方法,作为Flutter框架的主要函数。

所以简而言之,main是Dart语言的执行起点,runApp((与Flutter Framework相同。

最新更新