Flutter中Widget的生命周期

Widget生命周期: createState-initState-didChangeDependency-build-deactive-dispose
可通过WidgetsBinding类对widget生命周期的回调进行监控。


createState:StatefulWidget 中用于创建 State;

initState:State 的初始化操作,如变量的初始化等;

didChangeDependencies:initState 调用之后调用,或者使用了 InheritedWidget 组件会被调用,其中 InheritedWidget 可用于Flutter 状态管理;

build:用于 Widget 的构建;

deactivate:包含此 State 对象的 Widget 被移除之后调用,若此 Widget 被移除之后未被添加到其他 Widget 树结构中,则会继续调用 dispose 方法;

dispose:该方法调用后释放 Widget 所占资源;

reassemble:用于开发阶段,热重载的时候会被调用,之后会重新构建;

didUpdateWidget:父 Widget 构建的时候子 Widget 的 didUpdateWidget 方法会被调用。
在flutter中, 万物皆Widget。 Widget不能更新, 只能重建。StatelessWidget创建后不能改变,StatefulWidget可以改变,但其实也是通过重建的方式进行改变,因此代价较大,要避免滥用,防止整个UI全部重建。

会引起Widget重建的操作

(1)主动调用setState

(2)didChangeDependency:语言、系统主题变化

(3)父widget重绘调用didUpdateWidget

相关推荐
世人万千丶13 小时前
Flutter 框架跨平台鸿蒙开发 - 鸿蒙版本五子棋游戏应用
学习·flutter·游戏·华为·harmonyos·鸿蒙
autumn200514 小时前
Flutter 框架跨平台鸿蒙开发 - 连连看游戏应用
flutter·华为·harmonyos
程序员老刘15 小时前
AI时代我们是否还需要学编程?丨《Flutter跨平台开发核心技巧与应用》新书上市啦
flutter·ai编程·客户端
浮芷.15 小时前
Flutter 框架跨平台鸿蒙开发 - flutter版本样式的美食菜谱应用
flutter·harmonyos·美食
小雨天気.16 小时前
Flutter 框架跨平台鸿蒙开发 - 生活中的书法练习应用开发文档
flutter·生活·harmonyos
2301_8227032016 小时前
开源鸿蒙跨平台Flutter开发:FASTA 格式解析进阶:序列校验与异常处理机制实现
flutter·华为·开源·鸿蒙
AI_零食17 小时前
Flutter 框架跨平台鸿蒙开发 - 鸿蒙麻将游戏应用
学习·flutter·游戏·华为·交互·harmonyos
dragon72517 小时前
Flutter错误处理机制
前端·flutter
独特的螺狮粉18 小时前
Flutter 框架跨平台鸿蒙开发 - 睡眠白噪音开发纪录
flutter·华为·harmonyos·鸿蒙
提子拌饭13318 小时前
Flutter 框架跨平台鸿蒙开发 - 商用项目看板应用
flutter·华为·harmonyos