Activity和Fragment生命周期变化
情形一:启动应用加载Activity和Fragment
Activity::onCreate
Fragment::onAttach
Fragment::onCreate
Fragment::onCreateView
Fragment::onActivityCreate
Activity::onStart
Fragment::onSatrt
Activity::onResume
Fragment::onResume
情形二:fragA->fragB->fragA(Fragment不加入回退栈)
销毁FragmentA:
启动FragmentB:
销毁FragmentB:
启动FragmentA:
启动过程如下
onAttach
onCreate
onCreateView
onActivityCreate
onSatrt
onResume
销毁过程如下:
onPause
onStop
onDestroyView
onDestroy
onDetach
在不加入回退栈的情况下,无论多少Fragment之间的切换,都遵循启动下一个,销毁上一个的原则,在屏幕不旋转的情况下Activity是不会发生任何变化的
情形三:旋转Fragment(与加不加入回退栈没关系,过程都一样)
Activity和Fragment都会被销毁,其中销毁过程Fragment会保存状态
Fragment::onPause
Activity::onPause
Fragment::onSaveInstanceState(保存销毁前的状态)
Fragment::onStop
Activity onStop
Fragment::onDestroyView
Fragment::onDestroy
Fragment::onDetach
Activity::onDestroy
创建Activity和Fragment(与一开始启动应用过程相同)
Activity::onCreate
Fragment::onAttach
Fragment::onCreate
Fragment::onCreateView
Fragment::onActivityCreated
Fragment::onAttach
Fragment::onCreate
Fragment::onCreateView
Fragment::onActivityCreated
Activity onStart
Fragment::onStart
Fragment::onStart
Activity::onResume
Fragment::onResume
Fragment::onResume
情形四:FragmentA->FragmentB->FragmentA(两者都加入回退栈)
停止FragmentA,但是不销毁,与不加入回退栈相比唯一的不同就是不会被销毁
FragmentA::onPause
FragmentA::onStop
FragmentA::onDestroyView
启动FragmentB
"恢复"FragmentA,这种恢复会从Fragment的onCreateView开始,重新绘制页面,所以之前的所有数据都已经不在了,这就涉及到Fragment的状态保存(下节待续)
onCreateView
onActivityCreated
onStart
onResume
转载于:https://www.cnblogs.com/gzdx-tjh/p/4923331.html
Activity和Fragment生命周期变化相关推荐
- Lifecycle Activity和Fragment生命周期感知组件 LifecycleObserver MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- activity和fragment生命周期
activity和fragment生命周期看这两张图片就可以清晰的知道四大组件之一的activity和碎片的运作流程:如果想亲自看看它在代码中是运作流程就可以打Log看下,由于这样代码量有点多,而且简 ...
- android屏幕旋转生命周期,Activity、Fragment生命周期---横竖屏切换的生命周期
先贴出一张大家众所周知activity流程图 onCreate():创建Activity调用,用于Activity的初始化,还有个Bundle类型的参数,可以访问以前存储的状态.onStart():A ...
- android gilde生命周期管理,Glide原理之Activity、Fragment生命周期监听(三)
Glide中一个重要特性是Request可以随Activity或Fragment的onStart而resume,onStop而pause,onDestroy而clear,从而节约流量和内存,并且防止内 ...
- ViewPager切换Fragment生命周期变化
很久没有写博客了,今天学习了MD的TabLayout ,使用到了ViewPager,于是对于很久以来的一个疑问:ViewPager切换Fragment生命周期是如何变化的进行了一个测试. 本文研究了: ...
- Android开发之常见面试题Activity跳转生命周期变化
现在问生命周期一般不会问7个而是会连着问你两个页面生命周期的变化: 例如ActivityA->跳转到ActivityB的时候两个页面连续的生命周期如下图: 2020-09-07 17:31:28 ...
- 屏幕横竖发生变化时,当前Activity发生的生命周期变化
在手机屏幕发生屏幕横竖方向变化时,当前的Activity的生命周期变化为:(如有错误,一起讨论~) 设此时的Acitivty为ActivityA: ActivityA.onPause> Acti ...
- Activity与Fragment生命周期
转载于:https://www.cnblogs.com/gyzboy/p/4548903.html
- Fragment生命周期详解
关于Fragment的生命周期,博主写过Activity与Fragment生命周期详解,基本上把Fragment的生命周期详细介绍过,但是那仅仅是创建一个Fragmnet时的生命周期,而事实上Frag ...
最新文章
- 一.vtun源码学习笔记
- 微服务接入oauth2_SpringCloud微服务实战系列(十九)Ouath2在真实场景中的应用之客户端接入(第一种写法)...
- JavaScript面向对象(一)——JS OOP基础与JS 中This指向详解
- LeetCode 311. 稀疏矩阵的乘法
- 搭建Pxe服务器无人听应答全自动网络安装VMWare esxi 6.0系统
- 微课|玩转Python轻松过二级(1.6节):导入和使用标准库、扩展库对象
- 每天一道博弈论之“巴什博弈”
- Python音乐播放器-美观-简约-本地
- 数据清洗与数据预处理浅析
- 【OpenCv3】 VS C++ (五):SLIC超像素分割算法
- 将数组中的数逆序存放
- 免ajax省市三级联动:http://runjs.cn/detail/rcsqficf
- 解压jar包修改配置文件,解压、修改、压缩、运行
- docker-redis
- MySQL中,对结果或条件进行字符串拼接
- stack-es-标准篇-ElasticsearchClient-fields
- 【Python语言基础】——Python 删除文件
- linux赛门铁克扫描,赛门铁克数据扫描程序(Symantec Data Scanner, SDS)技术简介
- veins车载通信仿真框架(1)--veins安装
- 16 位 CRC 查表法的简单使用方法