本章回中介绍的生命周期是指Widget从创建到结果的整个过程,这里提到的Widget是一个泛称,更加准确的说是StatefulWidget,因为StatelessWidget没有具
体的State。在程序开发过程中需要明白Widget的生命周期,这样才能生命周期中不同的阶段做不同的事情,常见是在创建Widget时初始化某些数据,在销毁Widget
时释放相关的资源。其实我们在介绍Stream相关的内容时已经使用了Widget的生命周期,只是当前没有介绍而已。
生命周期是一个抽象的概念,不容易操作,不过不用担心,Flutter在生命周期中不同的阶段提供了不同的回调方法,我们称其为生命周期回调方法。我们只需要使用生命
周期回调方法就可以去完全生命中相关的操作。接下来我们介绍相关的生命周期方法:
class ExLoadingPage extends StatefulWidget {
const ExLoadingPage({Key? key}) : super(key: key);
State<ExLoadingPage> createState() => _ExLoadingPageState();
}
class _ExLoadingPageState extends State<ExLoadingPage> {
void initState() {
// TODO: implement initState
super.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生命周期"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!