人类演化
概述: 任何前端、移动端开发都会涉及到可视化组件的生命周期,也就是这个组件从生到死的过程,我们所能感知、控制的就是每一个阶段对应的系统回调函数。
整个过程不无外乎包含这几步,但是或多或少在期间还有其他的方法。
graph TD
A[构造函数] -->|初始化完成| C{展示完成}
C -->|页面更新| C
C -->|消失| E[销毁]
周期方法: 所谓的生命周期,本质上就是周期方法的调用。而周期方法就是开发者放出的各种回调方法。 作用也就很好理解了,就是让使用者知道当前组件处于哪种状态、并处理各阶段的自定义操作(数据、UI等)。
言归正传现在来说说Fluuter中Widget的生命周期都包含哪些方法,这些方法都是在什么时机被调用的。 这是常见的方法,我通过一个表格来展示,展示顺序也是调用顺序:
StateLessWidget | StatefulWidget |
---|---|
init(构造方法) | Widget-Init(构造方法) |
CreateState() | |
State-init | |
initState() | |
didChangeDependencies() | |
didUpdateWidget() | |
build() | State-buid() |
deactivate() | |
dispose() |
重点备注几个不是很好理解的方法:
除此之外还有一些和App整体有关的周期方法:
总: Widget常见的生命周期方法也就是这些,并没有什么难度。如果涉及到生命周期方法和Widget的渲染原理之间的关系,一下就有意思起来了。请查看第八期Widget的渲染逻辑