1、创建 flutter module
2、项目中引入flutter_boost,由于sdk高版本开启空检验,引入null-safety版本
pubspec.yaml中引入
flutter_boost:
git:
url: 'https://github.com/alibaba/flutter_boost.git'
ref: 'v3.0-null-safety-release.2.1'
3、main.dart中需要声明boots使用
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_boost/flutter_boost.dart';
void main() {
PageVisibilityBinding.instance
.addGlobalObserver(AppGlobalPageVisibilityObserver());
///这里的CustomFlutterBinding调用务必不可缺少,用于控制Boost状态的resume和pause
CustomFlutterBinding();
runApp(MyApp());
}
class AppGlobalPageVisibilityObserver extends GlobalPageVisibilityObserver {
@override
void onPagePush(Route<dynamic> route) {
Logger.log(
'boost_lifecycle: AppGlobalPageVisibilityObserver.onPageCreate route:${route.settings.name}');
}
@override
void onPageShow(Route<dynamic> route) {
Logger.log(
'boost_lifecycle: AppGlobalPageVisibilityObserver.onPageShow route:${route.settings.name}');
}
@override
void onPageHide(Route<dynamic> route) {
Logger.log(
'boost_lifecycle: AppGlobalPageVisibilityObserver.onPageHide route:${route.settings.name}');
}
@override
void onPagePop(Route<dynamic> route) {
Logger.log(
'boost_lifecycle: AppGlobalPageVisibilityObserver.onPageDestroy route:${route.settings.name}');
}
@override
void onForeground(Route route) {
Logger.log(
'boost_lifecycle: AppGlobalPageVisibilityObserver.onForeground route:${route.settings.name}');
}
@override
void onBackground(Route<dynamic> route) {
Logger.log(
'boost_lifecycle: AppGlobalPageVisibilityObserver.onBackground route:${route.settings.name}');
}
}
///创建一个自定义的Binding,继承和with的关系如下,里面什么都不用写
class CustomFlutterBinding extends WidgetsFlutterBinding with BoostFlutterBinding {}
class MyApp extends S