【问题标题】:What is the difference between main function and the runApp() function in Flutter?Flutter 中的 main 函数和 runApp() 函数有什么区别?
【发布时间】:2020-03-12 00:03:41
【问题描述】:

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

【问题讨论】:

    标签: flutter main run-app


    【解决方案1】:

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

    main() 函数开始执行 Dart 语言,它反过来提供加载 Flutter 组件的方法,即 runApp() 方法,它作为 Flutter 框架的 main 函数。

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          【解决方案4】:

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

          runApp() 函数应该返回 Widget,它将作为将要呈现的 Widget Tree 的根附加到屏幕。

          【讨论】:

            猜你喜欢
            • 2018-12-21
            • 1970-01-01
            • 2020-07-28
            • 1970-01-01
            • 2019-02-03
            • 2015-03-15
            • 1970-01-01
            • 1970-01-01
            • 2017-02-03
            相关资源
            最近更新 更多