美文网首页
Flutter StatelessWidget和Stateful

Flutter StatelessWidget和Stateful

作者: 有梦想的狼 | 来源:发表于2020-07-16 16:01 被阅读0次
  • 什么是生命周期:
    1、生命周期是人家封装好的一套接口,然后提供的回调方法,当发生变化时,我们只需要实现它。(按通俗的讲,就是回调方法(函数))。
    2、让你知道我封装好的这个widget它处于什么样的状态了!
  • 那生命周期有什么作用
    1、监听Widget的事件
    2、初始化数据
    (1)、创建数据
    (2)、发送网络请求
    3、内存管理
    (1)、销毁数据、销毁监听者
    (2)、销毁Timer等等

StatelessWidget生命周期

  1. 构造函数
  2. build方法
class MyHomePages extends StatelessWidget{
  final String title;
  MyHomePages({this.title}){
    print("构造函数被调用");
  }
  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    print("build方法被调用了");
    return Center(
      child: Text(title),
    );
  }
}

打印结果为

flutter: 构造函数被调用
flutter: build方法被调用了

StatefulWidget生命周期

1、widget的构造方法
2、widget的createState方法
3、state的构造方法
4、state的initState方法,(重写该方法时,必须要先调用super. initState()
5、didChangeDependencies方法,分两种情况:
(5.1)、调用initState方法后,会调用该方法,
(5.2)、从其他widget中依赖一些数据发生改变时,比如用InheritedWidgetprovider来监听数据的改变)
6、state的build方法(当调用setState方法,会重新调用build进行渲染)
7、state的deactivate方法(当state被暂时从视图移除的时候会调用,页面push走、pop回来的时候都会调用。因为push、pop会改变widget在视图树位置,需要先移除再添加。重写该方法时,必须要先调用super.deactivate()
8、state的dispose方法。页面被销毁的时候调用,如:pop操作。通常情况下,自己的释放逻辑放在super.dispose()之前,先操作子类在操作父类。

相关文章

网友评论

      本文标题:Flutter StatelessWidget和Stateful

      本文链接:https://www.haomeiwen.com/subject/gapuhktx.html