fragment与activity生命周期方法是一致的_android的生命周期

fragment与activity生命周期方法是一致的_android的生命周期如果我们在Fragment和它的宿主Activity的生命周期中都加上Log日志,你能顺利写出他们的执行顺序吗?我们先来看一张Google官方的图片:咋一听,Activity生命周期有七个方法,Fragment生命周期有十一个方法,貌似挺复杂的,其实我们只需要明白到底是谁带领着谁去执行生命周期的方法,就能很快弄明白这个问题。在创建的过程中,是Activity带领Fragment执行生命周期中

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

如果我们在Fragment和它的宿主Activity的生命周期中都加上Log日志,你能顺利写出他们的执行顺序吗?我们先来看一张Google官方的图片:
这里写图片描述

咋一听,Activity生命周期有七个方法,Fragment生命周期有十一个方法,貌似挺复杂的,其实我们只需要明白到底是谁带领着谁去执行生命周期的方法,就能很快弄明白这个问题。
在创建的过程中,是Activity带领Fragment执行生命周期中的方法,所以生命周期方法的执行顺序是这样的:
1.Activity–onCreate();
2.Fragment–onAttach();
3.Fragment–onCreate();
4.Fragment–onCreateView();
5.Fragment–onActivityCreated();

接着是这样的:
6.Activity–onStart();
7.Fragment–onStart();
8.Activity–onResume();
9.Fragment–onResume();
我们知道,无论对于Activity还是对于Fragment,onResume这个生命周期都是他们执行时间最长的,当我们的Activity或者Fragment打开之后,它就一直处于这个生命周期中。
当销毁的时候,春江水暖鸭先知,当然是Fragment先感知到,于是销毁的时候就是Fragment带领Activity:
10.Fragment–onPause();
11.Activity–onPause();
12.Fragment–onStop();
13.Activity–onStop();
14.Fragment–onDestroyView();
15.Fragment–onDestroy();
16.Fragment–onDetach();
17.Activity–onDestroy();
上面这个顺序有一个前提,就是我们所有的日志打印代码都是紧挨着super方法写。因为如果我们如果把Fragment写在了布局文件中,同时又在Activity的onCreate()方法中的setContentView之后打印日志,那么我们看到的生命周期的执行顺序就会有所不同,不过只是细微的差别,这点大家自己研究,道理也很好明白。
总之一句话,在创建的过程中,是Activity带领着Fragment,在销毁的过程中,是Fragment带领着Activity。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/170699.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux常用的20个命令面试_docker常见面试问题

    linux常用的20个命令面试_docker常见面试问题什么是linux多用户,多任务,支持多线程和多CPU的操作系统linux的应用领域:免费,稳定,高效的,一般运行在大型服务器上用xshell连接虚拟机的步骤:1.setup设置虚拟机IP为10.10.10.10重启网卡:servicenetworerestart2.在Windows系统打开网络和共享中心,更改适配器设置,把vmnet1的ipv4的IP改成10.10.10.13.打开xshell,输入ssh10.10.10.10/根目录:一般根目录下只存放目录,有且只有一个根目

    2022年10月23日
  • 求总体标准差的置信区间_如何计算置信区间[通俗易懂]

    求总体标准差的置信区间_如何计算置信区间[通俗易懂]一、置信区间与置信水平在做实验时,即使实验条件再准确,也无法避免随机干扰的影响,所以误差永远存在,无可避免。做科学实验时要测量多次,采取取平均值的方法。在科学实验的测量结果上,总是会加上一个测量范围。统计学核心思想:用样本信息来估计总体信息之前我们用样本给出一个精确值来估计总体,这个点估计值是有价值的,但可能存在误差,因为有估计就会有误差,误差不可避免但是可以减少。点(精确值)误差>区间…

    2022年10月27日
  • onbeforeunload事件_pageload事件何时触发

    onbeforeunload事件_pageload事件何时触发beforeunload事件简介当窗口,文档及其资源即将卸载时,将触发该事件。该文档仍然可见,此时事件仍可取消。如果为returnValueEvent属性分配了一个字符串,则会出现一个对话框,要求用户确认离开该页面(参见下面的示例)。IE浏览器在对话框中显示返回的字符串,但其他浏览器会显示自己的消息。如果未提供任何值,则以静默方式处理事件。注意:为了防止不需要…

    2022年10月22日
  • 光猫桥接网速降低了_光猫桥接网速降低了

    光猫桥接网速降低了_光猫桥接网速降低了解决电信宽带下,光猫桥接后使用路由器拨号时宽带降速的问题。

    2022年10月8日
  • 2020最新版MySQL数据库面试题(三)[通俗易懂]

    2020最新版MySQL数据库面试题(三)

    2022年2月14日
  • Pytest(13)命令行参数–tb的使用

    Pytest(13)命令行参数–tb的使用前言pytest使用命令行执行用例的时候,有些用例执行失败的时候,屏幕上会出现一大堆的报错内容,不方便快速查看是哪些用例失败。–tb=style参数可以设置报错的时候回溯打印内容,可以设置参

    2022年7月30日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号