前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Flutter(七)--Widget的生命周期(周期方法)Flutter(七)--Widget的生命周期(周期方法)

Flutter(七)--Widget的生命周期(周期方法)Flutter(七)--Widget的生命周期(周期方法)

作者头像
用户8893176
发布2021-08-09 14:33:19
1K0
发布2021-08-09 14:33:19
举报
文章被收录于专栏:小黑娃Henry小黑娃Henry

人类演化

概述: 任何前端、移动端开发都会涉及到可视化组件的生命周期,也就是这个组件从生到死的过程,我们所能感知、控制的就是每一个阶段对应的系统回调函数。

整个过程不无外乎包含这几步,但是或多或少在期间还有其他的方法。

周期方法: 所谓的生命周期,本质上就是周期方法的调用。而周期方法就是开发者放出的各种回调方法。 作用也就很好理解了,就是让使用者知道当前组件处于哪种状态、并处理各阶段的自定义操作(数据、UI等)。

Flutter-Widget的生命周期

言归正传现在来说说Fluuter中Widget的生命周期都包含哪些方法,这些方法都是在什么时机被调用的。 这是常见的方法,我通过一个表格来展示,展示顺序也是调用顺序:

StateLessWidget

StatefulWidget

init(构造方法)

Widget-Init(构造方法)

CreateState()

State-init

initState()

didChangeDependencies()

didUpdateWidget()

build()

State-buid()

deactivate()

dispose()

重点备注几个不是很好理解的方法:

  • initState 只会在首次创建时触发该方法,而在rebuild时并不会触发该方法。
  • didChangeDependencies Widget的依赖关系发生变化时会触发该方法,这个很好理解就是Widget树中父Widget发生变化。除此之外还有状态管理也叫数据共享同样会触发该方法.
  • didUpdateWidget 当父Widget发生setState()时,父Widget并不会发生触发该方法,只会触发子Widget的该方法。
  • deactivate 是Widget要从Widget树中移除时会触发该方法,在该方法中可以改变Widget的依赖关系,避免该Widget被销毁.

除此之外还有一些和App整体有关的周期方法:

  • resumed App可见且获取焦点状态;
  • inactive App处于非活动状态;
  • paused App不可见,后台运行状态;

总: Widget常见的生命周期方法也就是这些,并没有什么难度。如果涉及到生命周期方法和Widget的渲染原理之间的关系,一下就有意思起来了。请查看第八期Widget的渲染逻辑

传送门:

Flutter-汇总

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/7/2 下午,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Flutter-Widget的生命周期
  • 传送门:
  • Flutter-汇总
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档