美文网首页
Flutter生命周期

Flutter生命周期

作者: E术家 | 来源:发表于2020-06-17 15:28 被阅读0次

生命周期的基本概念

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

Widget的生命周期

Staleless
构造方法
build方法
Stateful(包含两个对象Widget、State)
Widget构造方法
Widget的CreateState
State的构造方法
State的initState方法
didChangeDependencies方法 (改变依赖关系)
  • 依赖的InderitedWidget发生变化后,方法会被调用
State的build
  • 当调用setState方法,会重新调用build进行渲染
当Widget销毁是,调用State的dispose方法

Widget的渲染原理

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

Widget树、Element树、Render树
每个Widget都会创建一个Element对象
  • 隐式调用createElement方法。Element加入Element树中,它会创建三种Element
RenderElement主要是创建RenderObject对象

继承RenderObjectWidget的Widget会创建RenderElement

  • 创建RanderElement
  • Flutter会调用mount方法,调用createRanderObject方法
StatefulElement继承ComponentElement

StatefulWidget会创建StatefulElement

  • 调用createState方法,创建State
  • 将Widget赋值给state
  • 调用state的build方法 并且将自己(Element)传出去
    build里面的context 就是Widget的Element !
StatelessElement继承ComponentElement

StatelessWidget会创建StatelessElement

  • 主要就是调用build方法 并且将自己(Element)传出去

相关文章

网友评论

      本文标题:Flutter生命周期

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