如下代码:
class _HomePageState extends State<HomePage> with WidgetsBindingObserver {
@override
void initState() {
super.initState();
WidgetsBinding.instance.addObserver(this);
debugPrint('initState');
}
@override
Future didChangeAppLifecycleState(AppLifecycleState state) async {
super.didChangeAppLifecycleState(state);
print("lifeChanged $state");
}
@override
void dispose() {
super.dispose();
WidgetsBinding.instance.removeObserver(this);//销毁
}
}
发现从A页面切换到B页面并不会触发didChangeAppLifecycleState()方法。
结果发现didChangeAppLifecycleState管理的生命并不是像Android那样页面切换的生命周期,而是监听点击home、或者物理返回键,将app的页面从后台切换到前台进程才会触发。