第二百六十五回

2024-01-14 12:36
文章标签 二百六十

本文主要是介绍第二百六十五回,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 概念介绍
  • 使用方法
  • 示例代码

我们在上一章回中介绍了Flutter中如何使用三方包相关的内容,本章回中将介绍Widget的生命周期.闲话休提,让我们一起Talk Flutter吧。

概念介绍

本章回中介绍的生命周期是指Widget从创建到结果的整个过程,这里提到的Widget是一个泛称,更加准确的说是StatefulWidget,因为StatelessWidget没有具
体的State。在程序开发过程中需要明白Widget的生命周期,这样才能生命周期中不同的阶段做不同的事情,常见是在创建Widget时初始化某些数据,在销毁Widget
时释放相关的资源。其实我们在介绍Stream相关的内容时已经使用了Widget的生命周期,只是当前没有介绍而已。

使用方法

生命周期是一个抽象的概念,不容易操作,不过不用担心,Flutter在生命周期中不同的阶段提供了不同的回调方法,我们称其为生命周期回调方法。我们只需要使用生命
周期回调方法就可以去完全生命中相关的操作。接下来我们介绍相关的生命周期方法:

  • initState()方法:主要用来初始化Widget相关的内容;
  • build()方法:主要用来创建Widget,它不可以创建子Widget;
  • dispose()方法:主要用来释放Widget相关的资源;
    我们在这里只介绍了三个重要的生命周期方法,其它的生命周期方法先不介绍,后续遇到后再做详细介绍。如果看官们有Android或者IOS的开发经验,那么可以使用这
    两个平台中生命周期的概念来对比,以及这两个平台中相关的的生命周期回调方法来做对比,比如onCreate,onResume,willApper,DidLoad等生命周期方法。

示例代码

class ExLoadingPage extends StatefulWidget {const ExLoadingPage({Key? key}) : super(key: key);State<ExLoadingPage> createState() => _ExLoadingPageState();
}class _ExLoadingPageState extends State<ExLoadingPage> {void initState() {// TODO: implement initStatesuper.initState();print("Widget Circle: initState");}Widget build(BuildContext context) {print("Widget Circle: build");return Container(child: Image.asset("images/ex.png"),);}void dispose() {print("Widget Circle: dispose");super.dispose();}
}

编译并且运行上面的程序可以得到以下运行结果。注意:在运行过程中需要使用路由来切换页面,不然无法走到dispose这个生命周期方法中:
I/flutter ( 9836): Widget Circle: initState
I/flutter ( 9836): Widget Circle: build
I/flutter ( 9836): Widget Circle: dispose
看官们,关于"Widget生命周期"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

这篇关于第二百六十五回的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/605175

相关文章

二百六十、Java——采集Kafka数据,解析成一条条数据,写入另一Kafka中(复杂JSON)

一、目的 由于部分数据类型频率为1s,从而数据规模特别大,因此完整的JSON放在Hive中解析起来,尤其是在单机环境下,效率特别慢,无法满足业务需求。 而Flume的拦截器并不能很好的转换数据,因为只能采用Java方式,从Kafka的主题A中采集数据,并解析字段,然后写入到放在Kafka主题B中 二 、原始数据格式 JSON格式比较复杂,对象中包含数组,数组中包含对象 {     "de

美学心得(第二百六十六集) 罗国正

美学心得(第二百六十六集) 罗国正 (2024年8月) 3223、现代戏曲理论家、作家吴梅,是江苏苏州市人,曾任多所名牌大学教授,在戏曲理论研究上,成绩卓著,他的主要美学观点如下: 1、他认为戏曲先应有“真”,再有风趣。 2、“真所以补风化,趣所以动观听”。 3、剧的唯一宗旨在“美”。 4、“乐府亡而词兴,词兴而曲作”。 5、元剧多用北词,明人多用南曲。 6、元剧以拙朴胜,明

美学心得(第二百六十集) 罗国正

美学心得(第二百六十集) 罗国正 (2024年4月)   3110、近代文学家陈衍,诗宗盛唐,是同光派主要诗人和理论家,他的主要美学观点如下: 1、“合学人,诗人之诗二而一之”。 2、“诗人、学人二者,非肆力兼致,不足薄风骚、副雅材”。 3、“作诗文要有真实怀抱、真实道理、真实本领”。 4、“诗之为道,易能而难精,工力未至,往往侪伍时辈,菲能相尚也。然所贵乎为诗者,非必蕲于相尚也,

美学心得(第二百六十一集) 罗国正

美学心得(第二百六十一集) 罗国正 (2024年4月)   3120、                            对蔡元培的人生轨迹和美学的思考 罗国正 (2024年4月于广州)   推动中国现代历史发展的巨人——蔡元培,他的动人事绩和卓越功勋、博大精彩的人生,值得人们思考、学习、研究。在他的有生之年,几乎当时中国所有优秀人物都受过他直接或间接的影响,其中大量的杰出的领

C++之双向链表与哈希链表用法区别实例(二百六十八)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀 优质视频课程:AAOS车载系统+AOSP14系统攻城狮入门实战课【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只有行

C++之结构体初始化10种写法总结(二百六十六)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药. 更多原创,欢迎关注:Android系统攻城狮 1

第二百六十八回

文章目录 概念介绍实现方法示例代码 我们在上一章回中介绍了跟手指移动的小球相关的内容,本章回中将介绍自定义组件.闲话休提,让我们一起Talk Flutter吧。 概念介绍 在项目中有些内容无法通过现有的组件来实现,因此需要自定义组件,自定义组件通常分为两大类:组合已经有的组件形成新的组件,重新绘制组件。组合已经有的组件我 们没有专门介绍过,不过有类似的内容,比如前面章回中实现

第二百六十三回 给geolocator插件提交问题

文章目录 1. 知识回顾2. 问题描述与解决2.1 问题描述2.2 问题解决 3. 心得与感受 1. 知识回顾 我们在前面章回中介绍过如何获取位置信息,主要介绍的是geolocator这个三方包,不过在最近使用时却发现了问题,尝试搜索解决,但是没有结果,因此给官方提交了一个问题。本章回主要记录提交问题的过程,并且分享一些经验。 2. 问题描述与解决 2.1 问题描述 我的问

第二百六十一回

文章目录 1. 概念介绍2. 使用方法2.1 简单用法2.2 自定义用法 3. 示例代码4. 内容总结 我们在上一章回中介绍了"三方包open_settings"相关的内容,本章回中将介绍另外一个三方包:bluetooth_enable_fork.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我们在本章回中主要介绍三方包bluetooth_enable_f

第二百六十二回

文章目录 概念介绍使用方法示例代码使用扩展 我们在上一章回中介绍了flutter_screenutil包相关的内容,本章回中将介绍dart中的setter/getter方法.闲话休提,让我们一起Talk Flutter吧。 概念介绍 我们在这里介绍的setter/getter方法属于编程语言中的知识,现代编程语言都支持这两种方法,而且会自动生成,dart也支持这两种方法,但是