Fragment的生命周期

学会了用Fragment创建小栗子后,来学习一下Fragment的生命周期。

主要的三个:onCreate()、onCreateView()、onPause()


首先:onCreateView()是用来创建一个布局的生命周期函数。

以上一篇为例,AnotherFragment中重写onCreate()、onCreateView()、onPause()

在其中添加输出语句

1、点击“呈现另一个Fragment”按钮后,

控制台输出:

onCreate

onCreateView

先执行创建,再执行创建界面


2、点后退键

控制台输出:

onPause

会停止。

但是其生命周期函数还会继续执行onDestory()、onDetach()最后这个Fragment会完全destroy


重写onDestroy,添加一个输出语句。执行上面的1.2.步骤。

控制台输出:

onCreate

onCreateView

onPause

onDestroy


会发现,执行了onDestroy,至此,这个fragment会完全销毁掉。


那么:

如果有第二个fragment把第一个fragment完全覆盖掉的话,第一个fragment会不会执行onDestroy呢?

在PlaceholderFragment中重写onPause()、onDestory(),并输出“a onPause”   "a onDestory"  执行上面的1。2步骤

控制台输出:

a onPause
onCreate
onCreateView

点击后退,控制台输出:

onPause
onDestroy


a只执行了a onPause,自始至终都没有执行a onDestory ,再重写a的onDestroyView,再次执行,

控制台输出:

a onPause

a onDestroyView

onCreate

onCreateView

点击后退,控制台输出:

onPause
onDestroy


意味着:a被替换掉之后,a的view已经被释放掉了,只有在回来之后,才会呈现到之前的那个view,会把这个view重新创建。

如果后退到桌面

控制台输出:

a onPause

a onDestroyView

a onDestroy


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值