flutter填坑之旅(flutter页面生命周期篇)
一、初始化时期
1、createState
	///构建一个StatefulWidget时,会立即调用该方法(必须重写)
  @override
  _WidgetLifecycleState createState() => _WidgetLifecycleState();
  
2、initState
 /// 在创建widget时调用的除构造方法外的第一个方法
 ///  在这个方法中通常会做一些初始化工作,比如channel的初始化,监听器的初始化等
  @override
  void  initState(){
    super.initState();
  }
  
二、更新时期
1、didChangeDependencies
  ///当依赖的State对象改变时会调用
  ///1、在第一次构建widget时,在initState()之后立即调用此方法
  ///2、 如果StatefulWidgets依赖与InheritedWidget,那么当当前State所依赖InheritedWidget中的变量改变时会再次调用它
  @override
  void didChangeDependencies() {
    super.didChangeDependencies();
  }
  
2、build
  ///这是应用必须实现的方法,页面所要呈现的内容就在此了
  ///它会在didChangeDependencies()方法之后调用
  ///另外当调用setState()后也会再次调用该方法
  @override
  Widget build(BuildContext context) {
  	return Container();
  }
  
3、didUpdateWidget
	///这个生命周期方法使用的时候很少,只当父组件需要重绘时才会调用
  @override
  void didUpdateWidget(WidgetLifecycle oldWidget) {
    super.didUpdateWidget(oldWidget);
  }
  
三、销毁期
1、deactivate
  ///这个也很少使用,只在组件被移除时调用,并在dispose()之前调用
  @override
  void deactivate() {
    super.deactivate();
  }
  
2、dispose
  ///该生命周期方法很常用,一旦组件被销毁就会调用:
  ///通常在该方法中执行一些资源的释放工作比如,监听器的卸载,channel的销毁等操作
  @override
  void dispose() {
    super.dispose();
  }
  
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号