一、初始化时期

1、createState


///构建一个StatefulWidget时,会立即调用该方法(必须重写)
@override
_WidgetLifecycleState createState() => _WidgetLifecycleState();

2、initState


/// 在创建widget时调用的除构造方法外的第一个方法
/// 在这个方法中通常会做一些初始化工作,比如channel的初始化,监听器的初始化等
@override
void initState(){
super.initState();
}

二、更新时期

1、didChangeDependencies


///当依赖的State对象改变时会调用
///1、在第一次构建widget时,在initState()之后立即调用此方法
///2、 如果StatefulWidgets依赖与InheritedWidget,那么当当前State所依赖InheritedWidget中的变量改变时会再次调用它
@override
void didChangeDependencies() {
super.didChangeDependencies();
}

2、build


///这是应用必须实现的方法,页面所要呈现的内容就在此了
///它会在didChangeDependencies()方法之后调用
///另外当调用setState()后也会再次调用该方法
@override
Widget build(BuildContext context) {
return Container();
}

3、didUpdateWidget


///这个生命周期方法使用的时候很少,只当父组件需要重绘时才会调用
@override
void didUpdateWidget(WidgetLifecycle oldWidget) {
super.didUpdateWidget(oldWidget);
}

三、销毁期

1、deactivate


///这个也很少使用,只在组件被移除时调用,并在dispose()之前调用
@override
void deactivate() {
super.deactivate();
}

2、dispose


///该生命周期方法很常用,一旦组件被销毁就会调用:
///通常在该方法中执行一些资源的释放工作比如,监听器的卸载,channel的销毁等操作
@override
void dispose() {
super.dispose();
}

flutter填坑之旅(flutter页面生命周期篇)的更多相关文章

  1. React Native填坑之旅--class(番外篇)

    无论React还是RN都已经迈入了ES6的时代,甚至凭借Babel的支持都进入了ES7.ES6内容很多,本文主要讲解类相关的内容. 构造函数 定义侦探类作为例子. ES5的"类"是 ...

  2. React Native填坑之旅--Flow篇(番外)

    flow不是React Native必会的技能,但是作为正式的产品开发优势很有必要掌握的技能之一.所以,算是RN填坑之旅系列的番外篇. Flow是一个静态的检查类型检查工具,设计之初的目的就是为了可以 ...

  3. bootstrap-table填坑之旅<一>认识bootstrap-table

    应公司需求,改版公司ERP的数据显示样式.由于前期开发的样式是bootstrap,所以选bootstrap-table理所当然(也是因为看了bootstrap-table官网的example功能强大, ...

  4. 使用vue开发微信公众号下SPA站点的填坑之旅

    原文发表于本人博客,点击进入使用vue开发微信公众号下SPA站点的填坑之旅 本文为我创业过程中,开发项目的填坑之旅.作为一个技术宅男,我的项目是做一个微信公众号,前后端全部自己搞定,不浪费国家一分钱^ ...

  5. https填坑之旅

    Boss说,我们买了个权威证书,不如做全站式的https吧,让用户打开主页就能看到受信任的绿标.于是我们就开始了填坑之旅. [只上主域好不好?] 不好...console会报出一大堆warning因为 ...

  6. React Native填坑之旅--与Native通信之iOS篇

    终于开始新一篇的填坑之旅了.RN厉害的一个地方就是RN可以和Native组件通信.这个Native组件包括native的库和自定义视图,我们今天主要设计的内容是native库方面的只是.自定义视图的使 ...

  7. React Native填坑之旅--布局篇

    代码在这里: https://github.com/future-challenger/petshop/tree/master/client/petshop/src/controller 回头看看RN ...

  8. stm32填坑之旅 - stm32f103c8t6点亮板载贴片蓝色LED

    转载请注明:https://www.cnblogs.com/rockyf/p/11691622.html 开篇 开篇一定要精彩,不然路人不理睬!下述是笔者作为arm小白的填坑之旅 没错,这个之前一直从 ...

  9. ASP.Net请求处理机制初步探索之旅 - Part 4 WebForm页面生命周期

    开篇:上一篇我们了解了所谓的请求处理管道,在众多的事件中微软开放了19个重要的事件给我们,我们可以注入一些自定义的业务逻辑实现应用的个性化设计.本篇,我们来看看WebForm模式下的页面生命周期. ( ...

  10. 【译】ASP.NET应用程序和页面生命周期

    为何翻译此文 一.此文是Code Project社区2010年4月ASP.NET板块的最佳文章,说明了此文的份量: 二.锻炼自己的英文技术文章翻译能力,提高英文技术文档阅读能力: 三.了解掌握ASP. ...

随机推荐

  1. 使用containerd搭建MinIO集群服务

    概述 因为在云服务器上默认只有一块磁盘,如果直接在系统盘上安装MinIO,会被拒绝,所以这里采用containerd的方式绕过这一限制 操作环境 操作系统 CentOS 7.9 MinIO版本 REL ...

  2. java多线程--5 同步方法和同步块synchronized

    java多线程--5 同步方法和同步块synchronized 同步方法和同步块 同步方法:关键字synchronized,包括synchronized方法和synchronized块 public ...

  3. Linux Redhat ens33不显示IP问题

    [第一步]:查看系统网卡设备 : ip addr show ​

  4. 项目优化-CDN缓存

    名次解释 CDN(Content Delivery Network)内容分发网络. CDN出现背景: 客户端从源站点获取数据,当服务端访问流量较为拥挤的时候 可能出现缓慢卡顿的现象,为了解决这个问题, ...

  5. 势如破竹的雷霆两招,微服务进阶Serverless

    ​在应用开发中,服务器的开发一直是最重要的部分之一.在服务器开发不断演进过程中,我们可以将它简单分为5个阶段: 物理机阶段->虚拟机阶段->云计算阶段->容器阶段->当前的Se ...

  6. 二进制安装Kubernetes(k8s) v1.24.1 IPv4/IPv6双栈 --- Ubuntu版

    二进制安装Kubernetes(k8s) v1.24.1 IPv4/IPv6双栈 --- Ubuntu版本 Kubernetes 开源不易,帮忙点个star,谢谢了 介绍 kubernetes二进制安 ...

  7. 二进制安装Kubernetes(k8s) v1.23.3

    声明:微信公众号不支持富文本格式,代码缩进有问题 参考我其他平台文档: https://www.oiox.cn/index.php/archives/90/ https://juejin.cn/pos ...

  8. pandas之去重

    "去重"通过字面意思不难理解,就是删除重复的数据.在一个数据集中,找出重复的数据删并将其删除,最终只保存一个唯一存在的数据项,这就是数据去重的整个过程.删除重复数据是数据分析中经常 ...

  9. [Chrome]插件的导出与导入[转载]

    1 文由 毕竟是在墙内,暂时又没有有效的FQ工具,换设备了,但需要使用原先旧设备下载的插件.只能出此下策liao~ 2 导出插件 step1 Chrome: 进入插件管理界面 Chrome: 更多工具 ...

  10. [Git]Git统计代码行数

    1 前言 今天,有这么一个需求:小组老大要求咱们[每个人]把[上个月]的[代码行数]统计一下并上报. 成,统计就统计,但那么多项目,总不能让我用手去数吧?何况,时间久了,自己也不清楚自己改了哪些地方了 ...