Flutter生命周期

2020-11-22  本文已影响0人  阿木小丸子

生命周期的基本概念:

1、什么是生命周期?
  • 说白了就是回调方法(函数)
  • 让你知道我封装好的这个widget它处于什么状态了!
2、生命周期有什么作用?
  • 监听widget的事件
  • 初始化数据(* 创建数据; *发送网络请求)
  • 内存管理
    * 销毁数据、销毁监听者
    * 销毁Timer等

Widget的生命周期:

1、StatelessWidget:

生命周期:

2、StatefulWidget

包含两个对象Widget、State

生命周期:

class MyData extends InheritedWidget {
  MyData({this.data, Widget child}) : super(child:child);
  final int data; //需要在子Widget中共享的数据

  //提供一个方法让子Widget访问我们的共享数据
  static MyData of(BuildContext context) {
    return context.dependOnInheritedWidgetOfExactType<MyData>();
  }

  @override
  bool updateShouldNotify(MyData oldWidget) {
    return oldWidget.data != data;
  }
}

Widget渲染原理:

并不是所有的Widget都会被独立渲染,只有继承RenderObjectWidget的才会创建RenderObject对象。(RenderObject创建后,被加入到Render Tree中)。
在Flutter的渲染流程中,有三颗重要的树!Flutter引擎是针对Render树进行渲染。

上一篇 下一篇

猜你喜欢

热点阅读