flutter生命周期
initState
- 调用时机:widget 第一次插入到 widget 树时
- 应用:状态初始化、订阅事件通知
didChangeDependencies()
- 调用时机:State对象的依赖发生变化时、组件第一次被创建后挂载的时候(包括重创建)
- 应用:当系统语言 Locale 或应用主题改变时,Flutter 框架会通知 widget 调用此回调
build()
- 调用时机:在调用initState()之后、在调用didUpdateWidget()之后、在调用setState()之后、在调用didChangeDependencies()之后、在State对象从树中一个位置移除后(会调用deactivate)又重新插入到树的其他位置之后
- 应用:构建 widget 子树
deactivate()
- 调用时机:当 State 对象从树中被移除时
dispose()
- 调用时机:当 State 对象从树中被永久移除时调用
- 应用:释放资源
didUpdateWidget ()
- 调用时机:在新旧 widget 的key和runtimeType同时相等时
reassemble()
- 调用时机:在热重载(hot reload)时会被调用,在Release模式下永远不会被调用
- 应用:专门为了开发调试而提供的