Flutter 页面生命周期 & app生命周期

2021/7/14 flutter

# 页面生命周期

周期图片

构造函数 > initState > didChangeDependencies > Widget build

deactivate > dispose

# app生命周期

  • AppLifecycleState 状态
名称 状态
resumed 可见并能响应用户的输入
inactive 处在并不活动状态,无法处理用户响应
paused 不可见并不能响应用户的输入,但是在后台继续活动中
  • 源码演示
class _MyWalletScreenState extends State<MyWalletScreen>
    with WidgetsBindingObserver {

 
  void initState() {
    super.initState();
    WidgetsBinding.instance.addObserver(this);
  }

  
  void dispose() {
    WidgetsBinding.instance.removeObserver(this);
    super.dispose();
  }  

  void didChangeAppLifecycleState(AppLifecycleState state) async {
    if (state == AppLifecycleState.resumed) {
      getData();
    }
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

参考博客1 (opens new window)

参考博客2 (opens new window)

Last Updated: 2021/7/14 15:07:14