在APP运行前可能需要初始化其他逻辑,比如一些第三方服务,高德地图等等,如果每次多来修改main.dart
文件里的main()
,会让这个main()
方法内容比较多。解决方法就是把这种逻辑封装到单独的一个类中,同时这个类也是个全局类,这样如果以后有什么内容要在多个界面共享的话,也把需要共享的内容放到这个类中,统一管理。
随便创建一个dart文件,app_context.dart
还有一个情况需要处理的就是,有些服务可能必须初始化完成后,才进入主页面去执行runApp(const MyApp())
代码。解决方法就是在全局类里返回一个异步的对象Future
///AppContext.dart 中
class AppContext{
static Future init() {
return Future.value();
}
}
///main.dart 中
void main() {
AppContext.init().then((value) => runApp(const MyApp()));
}
这样的话,以后有需要初始化的逻辑就不用去修改mian文件,全都放在app_context.dart
中,更加方便项目的重构。