浅析Flutter生命周期

本文详细介绍了Flutter中Widget的生命周期,包括初始化、更新和销毁阶段,重点讲解了StatefulWidget的createState、initState、didChangeDependencies、build、setState、didUpdateWidget、deactivate和dispose等关键方法。此外,还阐述了如何通过WidgetsBindingObserver监听App的生命周期,如resumed、inactive和paused状态,以及如何利用didChangeAppLifecycleState进行相应业务处理。

在软件开发过程中,无论是Android开发还是IOS开发中都有生命周期的概念,比如Android中Activity的生命周期,Fragment的生命周期,iOS中的ViewController也存在生命周期。Flutter中的Widget也存在生命周期,并且是通过State体现的。

在Flutter中存在两种生命周期,一个是页面Widget,另一个是App。

Flutter宇宙中,一切都是Widget.

Widget(State)生命周期。

通常是指StatefulWidget这个Widget的生命周期,先看一下流程图。

如上图所示,State生命周期分为三部分:初始化, 更新,销毁,下面依次说明各个阶段的工作。

创建初始化阶段
  • 创建(createState),在StatefulWidget通过调用createState()函数来创建State对象,通过通过这个构造函数来接收父组件传递的初始化UI配置数据。
  • initState, 会在State对象被插入视图数的时候调用。在State生命周期中只会调用一次,可以做一些初始化的工作,比如各种变量的初始赋值,开发中可以在此函数中调用后台接口,获取后台数据后调用setState设置State刷新页面数据。
  • didChangeDependencies则用来处理State对象依赖关系变化,会在initState()调用结束后,被Flutter调用,随后触发组件构建。典型的场景是,系统语言Locale或应用主题改变时,系统会通知State执行didChangeDependencies回调方法。
  • build, 主要用于返回需要渲染的Widget,由于build会被调用多次,因此只用于返回Widget的逻辑,避免执行多次导致状态异常。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值