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
Activity和Fragment生命周期变化的更多相关文章
- 三张图让你高速明确activity与fragment生命周期的异同点
第一张图:activity的生命周期 第二张图:fragment的生命周期 第三张图:activity与fragment生命周期对照 补充:假设你还是不明确,请翻译一下你不理解的相应单词. ----- ...
- activity 与 fragment生命周期
一.Activity的生命周期图: 二.Fragment生命周期图 三.对比图 Log数据 Activity﹕ onCreateFragment﹕ onAttachFragment﹕ onCre ...
- Android Activity和Fragment生命周期图
- Android Activity与Fragment生命周期
- Android Activity与Fragment生命周期 对应关系
- Activity和Fragment生命周期对比
版权声明:本文为博主原创文章,未经博主允许不得转载.
- 测试Activity和Fragment的生命周期
Activity的生命周期有7个函数,Fragment的生命周期有11个函数. Activity生命周期除上述6个方法还有一个Restart()方法,该方法在该Activity从不可见(仍存在)到重新 ...
- Activity与Fragment
Fragment是Android honeycomb 3.0新增的概念,Fragment名为碎片不过却和Activity十分相似. Fragment是用来描述一些行为或一部分用户界面在一个Activi ...
- 面试 -- fragment生命周期
Android 3.0 (Api 11)引入: Fragment具有重用,易适配(平板和手机之间的)优点: 依赖Activity,生命周期受到Activity的生命周期影响: fragment生命周期 ...
随机推荐
- 如何得到UBUNTU源代码
http://www.pleaseguide.me/367/how-to-get-the-source-code-of-ubuntu 在按书作测试,有难点一一解决. Ubuntu's Source c ...
- BZOJ 3122 随机数生成器
http://www.lydsy.com/JudgeOnline/problem.php?id=3122 题意:给出p,a,b,x1,t 已知xn=a*xn-1+b%p,求最小的n令xn=t 首先,若 ...
- java中的日期格式
时间日期标识符: yyyy:年 MM:月 dd:日 hh:~12小时制(-) HH:24小时制(-) mm:分 ss:秒 S:毫秒 E:星期几 D:一年中的第几天 F:一月中的第几个星期(会把这个月总 ...
- QPainter类学习
详细描述: QPainter类提供了许多高度优化的函数去做大部分的GUI绘制工作.它可以画从简单的线到复杂的形状.通常情况下,QPainter的使用是在widget当中的painter事件使用.记得在 ...
- SQL servere 范式、事务
一.数据库范式: 1.构造数据库必须遵循一定的规则.在关系数据库中,这种规则就是范式. 范式是符合某一种级别的关系模式的集合.数据库中的关系必须满足一定的要求,即满足不同的范式. 满足最低要求的范式是 ...
- Java实现生产者消费者
方法1:最简单--利用LinkedBlockingQueue 队列具有先进先出的特点,成为经常应用于生产-消费者模式的数据结构. 1.将一个对象放到队列尾部,如果队列已满,就等待直到有空闲节点. —— ...
- 【转】模块编译Android源码方法
原文网址:http://blog.csdn.net/androidlover1991/article/details/17014055 实际开发中,并不需要每次都编译所有源代码,只需要编译自己修改的模 ...
- Windows 8 关闭无线后无法打开WIFI的解决办法
转:http://blog.sina.com.cn/s/blog_49d02ed101016b4n.html 在使用 Windows 8 的过程中,遇到过几次使用键盘上的功能键(笔者笔记本上的快捷键是 ...
- TMS320VC5509A DSP学习路线(持续更新)
step 1:芯片的数据手册(data sheet) 参考资料:sprs205k_TMS320VC5509A Fixed-Point Digital Signal Processor Data Man ...
- VShell破解版
VShell破解版 VShell破解版