Flutter

Flutter 的生命周期(转载)

2020-05-19  本文已影响0人  会Android的摄影爱好者

一,概述

Flutter 的生命周期分为两个部分:

二,Widget 的生命周期

Flutter 里的 Widget 分为 StatelessWidget 和 StatefulWidget 两种,这两种 Widget 的生命周期是不一样的,我们接下来具体来看。

StatelessWidget 的生命周期只有一个,就是:

三,App 的生命周期

AppLifecycleState 就是 App 的生命周期,有:

如果想要知道 Flutter App 的生命周期,例如 Flutter 是在前台还是在后台,就需要使用到 WidgetsBindingObserver了,使用方法如下:

  1. State 的类 mix WidgetsBindingObserver:
class _MyHomePageState extends State<MyHomePage> with WidgetsBindingObserver {
    
   }
  1. 在 State 的 initState里添加监听:
  @override void initState(){ super.initState();
       WidgetsBinding.instance.addObserver(this);
     }
  1. 在 State 的 dispose里移除监听:
 @override void dispose() { // TODO: implement dispose
    super.dispose();
    WidgetsBinding.instance.removeObserver(this);
  }</pre>
  1. 在 State 里 override didChangeAppLifecycleState
...@overridevoid didChangeAppLifecycleState(AppLifecycleState state) { super.didChangeAppLifecycleState(state); if (state == AppLifecycleState.paused) { // went to Background
 } if (state == AppLifecycleState.resumed) { // came back to Foreground
 }
}
上一篇下一篇

猜你喜欢

热点阅读