一个与 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())));
}
main()函数是应用程序的入口点,被调用一次。 您可以使用
WidgetsBindingObserver
检测应用程序何时从 onResume 返回并更新您需要的内容。
在某些情况下,当您的应用程序在后台打开时,系统可能会关闭您的应用程序,当您再次打开应用程序时,与第一次打开应用程序时相同。
https://api.flutter.dev/flutter/widgets/WidgetsBindingObserver-class.html