Flutter Book C1
Stateful Widget 生命期:
- Widget:
constructor--> 调用createState() - State:
constructor-->mounted-->initState-->dirty state-->build-->clean state-->dispose
其中 state 有如下两条生命期支线可以流转到 dirty state:
initState-->didChangeDependencies-->dirty stateclean 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 中任何东西都是对象, 数字也是对象, 而非原子类型