本文主要是介绍第二百六十五回,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 概念介绍
- 使用方法
- 示例代码
我们在上一章回中介绍了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生命周期"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!
这篇关于第二百六十五回的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!