应用程序运行时,Flutter 中 main.dart 的调用频率(以及何时)?

问题描述 投票:0回答:1

一个与 main.dart 中应用程序初始化相关的简单问题。 我正在调用 .setData() 方法来在返回应用程序之前在 main 中加载 UserModel 。然后,此 UserModel 始终作为静态类保留。这按我的需要工作。然而,其中一个变量是当前月份的字符串。由于类是静态的,我不确定是否能够使用此函数检测月份是否已更改(例如,如果应用程序在一个月的最后一天过夜运行)。所以我的问题是 main() 何时被调用?是每次应用程序打开时都会出现吗?因此,我的 setData();每次都会调用函数?还是比这个频率低?我在整个课程中将 Riverpod 用于其他提供程序,但我需要知道提供程序之外的 UserModel 值。谢谢


Future main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  await UserModel().setData();
 
  runApp(ProviderScope(child: InheritedConsumer(child: CGC())));
}
flutter static stream initialization
1个回答
0
投票

main()函数是应用程序的入口点,被调用一次。 您可以使用

WidgetsBindingObserver
检测应用程序何时从 onResume 返回并更新您需要的内容。

在某些情况下,当您的应用程序在后台打开时,系统可能会关闭您的应用程序,当您再次打开应用程序时,与第一次打开应用程序时相同。

https://api.flutter.dev/flutter/widgets/WidgetsBindingObserver-class.html

© www.soinside.com 2019 - 2024. All rights reserved.