zoukankan      html  css  js  c++  java
  • 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();
      }
      
    
  • 相关阅读:
    (class: org/apache/jasper/runtime/PageContextImpl, method: getELResolver signature: ()Ljavax/el/ELResolver;) Incompatible argument to
    FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(
    eclipse中安装jetty插件并使用
    maven方式使用jetty
    eclipse 4.4安装aptana插件
    ok6410 android driver(12)
    ok6410 android driver(11)
    ok6410 android driver(10)
    ok6410 android driver(9)
    ok6410 android driver(8)
  • 原文地址:https://www.cnblogs.com/dengxiaoning/p/11681254.html
Copyright © 2011-2022 走看看