Flutter Book C1
Stateful Widget 生命期:
- Widget:
constructor
--> 调用createState()
- State:
constructor
-->mounted
-->initState
-->dirty state
-->build
-->clean state
-->dispose
其中 state 有如下两条生命期支线可以流转到 dirty state:
initState
-->didChangeDependencies
-->dirty state
clean state
-->setState
或didUpdateWidget
-->dirty state
比如在界面中有一个名字是 Widget 的 Stateful Widget:
- 当加载这个界面时, Flutter 创建 Widget, Widget 会创建自己关联的 State 对象
- State mounted 后, Flutter 调用 initState
- init 完成后, Flutter 会 build 这个 Widget, 然后 state 到达 clean state, 这个过程会对 Widget 进行 render.
- 至此, Widget 就稳定下来了, 接下来就是等待如下事件并进行对应的状态转变:
- 当用户导航到其他界面后, state 可以被 dispose.
- Widget 的某些配置被外界改变, 会触发
didUpdateWidget
- 自己主动调用
setState
Flutter rendering: 原理
在任何时候, APP 都是由一个巨大的逻辑上的 Widget 树构成, Flutter 通过这个"配置树"的改变对界面进行重新渲染.
待续...
Dart 概述
main
函数作为入口- Dart 是面向对象的, 支持单继承
- Dart 中任何东西都是对象, 数字也是对象, 而非原子类型