Android_不同行为的Fragement的生命周期的变化

想要清楚Fragment的生命周期变化一定要理解回退栈的作用,回退栈是栈,所以是先进后出,后进先出.点击back键的时候,最先被销毁的应该是最后添加到栈的对象。
代码比较简单,所以就不写了,简单的描述一下,Activity的布局中有两个按钮:

  • 按钮一:在指定的位置添加Fragment1的对象
  • 按钮二:在指定的位置添加Fragment2的对象,替换掉原来的

Fragment1的对象
我们这里主要研究Fragment1的对象的生命周期的变化
一、 将Fragment1和Fragment2的对象到加入到回退栈。(点击back键时一定要注意谁先被销毁)
(1)添加Fragment1的对象到指定位置,并将Fragment1的对象添加到回退栈。

onAttach-->onCreate-->onCreateView-->onActivityCreated-->onStart-->onResume

(2)在指定的位置添加Fragment2的对象,替换掉原来的Fragment1的对象, 并将Fragment2的对象添加到回退栈。

onPause-->onStop-->onDestroyView

(3)点击back键时。

onCreateView-->onActivityCreated-->onStart-->onResume

(4)再次点击back键时。

onPause-->onStop-->onDestroyView-->onDestroy-->onDetach

二、将Fragment1的对象加入都回退栈
(1)添加Fragment1的对象到指定位置,并将Fragment1的对象添加到回退栈

onAttach-->onCreate-->onCreateView-->onActivityCreated-->onStart-->onResume

(2)在指定的位置添加Fragment2的对象,替换掉原来的Fragment1的对象

onPause-->onStop-->onDestroyView

(3)点击back键时

onDestroy-->onDetach

三、将Fragment2的对象加入到回退栈
生命周期和第一个是一样的
原因分析:
第一个
第一步和第二步比较简单,不在赘述
点击back键时,先销毁Fragment2,因为Fragment2是最后加入到栈中的,此时,Fragment1就显现出来了
第二个
第一步和第二步比较简单,不在赘述
点击back键时,在手机界面上并没有什么变化,因为点击back键,是销毁回退栈中的对象,此时的回退找只有Fragment1,而Fragment1并没有显示在视图上,所以点击back键就是直接销毁没有显示在视图上Fragment1
第三个
自己分析

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值