fragment与activity的生命周期方法是一致的吗_请描述activity的生命周期

fragment与activity的生命周期方法是一致的吗_请描述activity的生命周期在学Fragment之前肯定学过了Activity,Activity有属于自己的生命周期,Fragment基本上和activity大体一样,但是有自己特有的生命周期方法,下面我们一起来看一下。说白了主要看两张图,和运行代码:一.Fragment的生命周期二.与Activity生命周期的对比三.场景演示

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

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

在学Fragment之前肯定学过了Activity,Activity有属于自己的生命周期,Fragment基本上和activity 大体一样,但是有自己特有的生命周期方法,下面我们一起来看一下。

说白了主要看两张图,和运行代码:

一. Fragment的生命周期

fragment与activity的生命周期方法是一致的吗_请描述activity的生命周期

二. 与Activity生命周期的对比

fragment与activity的生命周期方法是一致的吗_请描述activity的生命周期


三. 场景演示 :

①启动Fragment

07-05 11:14:48.791 16273-16273/com.mypractice E/—-A Activity—-: onCreate
07-05 11:14:48.809 16273-16273/com.mypractice E/—-A Activity—-: onStart
07-05 11:14:48.809 16273-16273/com.mypractice E/—-A Fragment—-: onAttach
07-05 11:14:48.809 16273-16273/com.mypractice E/—-A Fragment—-: onCreate
07-05 11:14:48.809 16273-16273/com.mypractice E/—-A Fragment—-: onCreateView
07-05 11:14:48.813 16273-16273/com.mypractice E/—-A Fragment—-: onActivityCreated
07-05 11:14:48.813 16273-16273/com.mypractice E/—-A Fragment—-: onStart
07-05 11:14:48.813 16273-16273/com.mypractice E/—-A Activity—-: onResume
07-05 11:14:48.813 16273-16273/com.mypractice E/—-A Fragment—-: onResume

②锁屏(注意此处Fragment的onSaveInstanceState方法执行,但是Activity的此方法并未执行,解释见文末尾注释):

07-05 11:18:36.007 16273-16273/com.mypractice E/—-A Activity—-: onPause
07-05 11:18:36.007 16273-16273/com.mypractice E/—-A Fragment—-: onPause

07-05 11:18:36.007 16273-16273/com.mypractice E/—-A Fragment—-:onSaveInstanceState

07-05 11:18:36.193 16273-16273/com.mypractice E/—-A Activity—-: onStop
07-05 11:18:36.194 16273-16273/com.mypractice E/—-A Fragment—-: onStop

③解锁:

07-05 11:19:20.898 16273-16273/com.mypractice E/—-A Activity—-: onRestart
07-05 11:19:20.899 16273-16273/com.mypractice E/—-A Activity—-: onStart
07-05 11:19:20.899 16273-16273/com.mypractice E/—-A Fragment—-: onStart
07-05 11:19:20.910 16273-16273/com.mypractice E/—-A Activity—-: onResume
07-05 11:19:20.910 16273-16273/com.mypractice E/—-A Fragment—-: onResume

④切换到其它 Fragment(A –> B):

07-05 11:21:02.961 16273-16273/com.mypractice E/—-A Activity—-: onPause
07-05 11:21:02.961 16273-16273/com.mypractice E/—-A Fragment—-: onPause
07-05 11:21:02.999 16273-16273/com.mypractice E/—-B Fragment—-: onAttach
07-05 11:21:02.999 16273-16273/com.mypractice E/—-B Fragment—-: onCreate
07-05 11:21:03.000 16273-16273/com.mypractice E/—-B Fragment—-: onCreateView
07-05 11:21:03.002 16273-16273/com.mypractice E/—-B Fragment—-: onActivityCreated
07-05 11:21:03.002 16273-16273/com.mypractice E/—-B Fragment—-: onStart
07-05 11:21:03.003 16273-16273/com.mypractice E/—-B Fragment—-: onResume

07-05 11:21:03.900 6921-6921/kj.com.mypractice E/—-A Fragment—-: onSaveInstanceState
07-05 11:21:03.452 16273-16273/com.mypractice E/—-A Activity—-: onStop
07-05 11:21:03.452 16273-16273/com.mypractice E/—-A Fragment—-: onStop

⑤Back键返回(B –> A):

07-05 11:23:32.094 16273-16273/com.mypractice E/—-B Fragment—-: onPause
07-05 11:23:32.099 16273-16273/com.mypractice E/—-A Activity—-: onRestart
07-05 11:23:32.100 16273-16273/com.mypractice E/—-A Activity—-: onStart
07-05 11:23:32.100 16273-16273/com.mypractice E/—-A Fragment—-: onStart
07-05 11:23:32.100 16273-16273/com.mypractice E/—-A Activity—-: onResume
07-05 11:23:32.100 16273-16273/com.mypractice E/—-A Fragment—-: onResume
07-05 11:23:32.515 16273-16273/com.mypractice E/—-B Fragment—-: onStop
07-05 11:23:32.516 16273-16273/com.mypractice E/—-B Fragment—-: onDestroyView
07-05 11:23:32.516 16273-16273/com.mypractice E/—-B Fragment—-: onDestroy
07-05 11:23:32.516 16273-16273/com.mypractice E/—-B Fragment—-: onDetach

⑥Home键回到桌面:

07-05 11:25:56.622 16273-16273/com.mypractice E/—-A Activity—-: onPause
07-05 11:25:56.623 16273-16273/com.mypractice E/—-A Fragment—-: onPause

07-05 11:51:26.861 6921-6921/kj.com.mypractice E/—-A Fragment—-: onSaveInstanceState
07-05 11:25:57.252 16273-16273/com.mypractice E/—-A Activity—-: onStop
07-05 11:25:57.252 16273-16273/com.mypractice E/—-A Fragment—-: onStop

⑦Home键之后返回应用:

07-05 11:26:48.603 16273-16273/com.mypractice E/—-A Activity—-: onRestart
07-05 11:26:48.603 16273-16273/com.mypractice E/—-A Activity—-: onStart
07-05 11:26:48.603 16273-16273/com.mypractice E/—-A Fragment—-: onStart
07-05 11:26:48.603 16273-16273/com.mypractice E/—-A Activity—-: onResume
07-05 11:26:48.603 16273-16273/com.mypractice E/—-A Fragment—-: onResume

⑧退出Activity(即退出Fragment):

07-05 11:28:17.679 16273-16273/com.mypractice E/—-A Activity—-: onPause
07-05 11:28:17.679 16273-16273/com.mypractice E/—-A Fragment—-: onPause
07-05 11:28:18.109 16273-16273/com.mypractice E/—-A Activity—-: onStop
07-05 11:28:18.110 16273-16273/com.mypractice E/—-A Fragment—-: onStop
07-05 11:28:18.110 16273-16273/com.mypractice E/—-A Activity—-: onDestroy
07-05 11:28:18.110 16273-16273/com.mypractice E/—-A Fragment—-: onDestroyView
07-05 11:28:18.111 16273-16273/com.mypractice E/—-A Fragment—-: onDestroy
07-05 11:28:18.111 16273-16273/com.mypractice E/—-A Fragment—-: onDetach


补充:两Activity跳转生命周期方法执行顺序:

① A –> B

07-05 11:32:23.460 27917-27917/kj.com.mypractice E/—-A Activity—-: onPause

07-05 11:32:23.513 27917-27917/kj.com.mypractice E/—-B Activity—-: onCreate

07-05 11:32:23.513 27917-27917/kj.com.mypractice E/—-B Activity—-: onStart
07-05 11:32:23.513 27917-27917/kj.com.mypractice E/—-B Activity—-: onResume
07-05 11:32:23.953 27917-27917/kj.com.mypractice E/—-A Activity—-: onStop

② B –> A

07-05 11:37:45.538 27917-27917/kj.com.mypractice E/—-B Activity—-: onPause
07-05 11:37:45.547 27917-27917/kj.com.mypractice E/—-A Activity—-: onRestart
07-05 11:37:45.547 27917-27917/kj.com.mypractice E/—-A Activity—-: onStart
07-05 11:37:45.547 27917-27917/kj.com.mypractice E/—-A Activity—-: onResume
07-05 11:37:45.976 27917-27917/kj.com.mypractice E/—-B Activity—-: onStop
07-05 11:37:45.976 27917-27917/kj.com.mypractice E/—-B Activity—-: onDestroy


注释:

Activity可能被杀死也就是异常终止,之后: OnSaveInstanceState(onStop之前) –> OnRestoreInstanceState(onStart之后)
正常结束只有BACK键  ,
异常终止的情况(注意是可能,并不是一定):

1、资源相关的系统配置被改变,比如横竖屏、输入法显示和隐藏
2、
系统内存不足时
3、HOME键或者锁屏


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

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

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


相关推荐

  • ElasticSearch 2.0以后的改动导致旧的资料和书籍需要订正的部分

    ElasticSearch 2.0以后的改动导致旧的资料和书籍需要订正的部分

    2021年9月11日
    44
  • 高级C/C++编译技术之读书笔记(一)之编译/链接

    本节思维导图1.计算机体系结构抽象2.进程内存映射布局(1)代码节:供CPU执行的机器指令码(.text节)(2)数据节:供CPU操作的数据,通常来说,初始化数据(.data)、未初始化数

    2021年12月28日
    37
  • vlc 字幕中文乱码解决方法_字幕乱码符号

    vlc 字幕中文乱码解决方法_字幕乱码符号vlc中文字幕乱码的解决方案

    2025年7月18日
    0
  • 在线客服系统源码(PHP完全开源版)

    在线客服系统源码(PHP完全开源版)在线客服系统软件使开发和运营团队能够高速协作,因此要求源码系统能够快速响应业务变化,并快速提供出色的客户和员工服务体验。  在线客服源码演示及获取:https://gitee.com/wang_li989/kfxt  客服沟通问题加起来会成为重大的财务损失。您的组织快速有效地解决这些问题的能力直接影响到未满足的SLA义务和客户体验,这两个方面对公司的成功至关重要。在线客服系统是企业战略的核心组成部分。通过减少识别和解决问题所需的时间,您的组织可以提高客户忠诚度,最大限度地延长正常运行时间,并提供始终如

    2022年7月19日
    32
  • Layui的TreeTable使用

    Layui的TreeTable使用Layui官方本身是没有TreeTable的,不过有个大佬自己写了一个,这是码云地址:https://gitee.com/whvse/treetable-lay/tree/master/接下来我来说一下具体使用这个东西首先下载这个文件夹中的东西在你的web项目下将这个文件夹弄到里面去,在页面上导入这些文件<linkrel="stylesheet"href="as…

    2022年4月30日
    50
  • Kafka入门经典教程_kafka菜鸟教程

    Kafka入门经典教程_kafka菜鸟教程转自:https://blog.csdn.net/yuan_xw/article/details/512109541Kafka入门教程1.1消息队列(MessageQueue)MessageQueue消息传送系统提供传送服务。消息传送依赖于大量支持组件,这些组件负责处理连接服务、消息的路由和传送、持久性、安全性以及日志记录。消息服务器可以使用一个或多个代理实例。J…

    2022年10月16日
    0

发表回复

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

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