【问题标题】:should iuse WidgetsFlutterBinding.ensureInitialized(); two times?我应该使用 WidgetsFlutterBinding.ensureInitialized();两次?
【发布时间】:2021-12-30 09:55:30
【问题描述】:

我在主函数中使用了firebaseshared_preferences,所以我应该使用指令 WidgetsFlutterBinding.ensureInitialized();两次还是一次就够了?

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  WidgetsFlutterBinding.ensureInitialized();
  SharedPreferences prefs = await SharedPreferences.getInstance();
 .....
  runApp( MyApp());
}

【问题讨论】:

标签: android firebase flutter dart


【解决方案1】:

一次初始化就足够了。

如果您查看ensureInitialized() 的源代码,
它所做的只是检查WidgetsBinding 实例是否为null
如果是null,则创建一个新实例。

函数如下:

    static WidgetsBinding ensureInitialized() {
      if (WidgetsBinding.instance == null)
        WidgetsFlutterBinding();
      return WidgetsBinding.instance!;
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-29
    相关资源
    最近更新 更多