Fragment生命周期总结

Fragment生命周期可以参考http://blog.csdn.net/forever_crying/article/details/8238863/

我自己动手试了一下,通过打印Log日志的方式。

MainActivity类底部有4个Tab,分别对应4个Fragment分别是HomeFragment,SecondFragment,ThirdFragment和MeFragment,点击可以切换Fragment。对每一个页面打印Log日志记录。

启动MainActivity,生命周期如下:

MainActivity -- onCreate
HomeFragment -- onAttach(Activity activity)
HomeFragment -- onCreate
HomeFragment -- onCreateView
HomeFragment -- onViewCreated
HomeFragment -- onActivityCreated
MainActivity -- onStart
HomeFragment -- onStart
MainActivity -- onResume
HomeFragment -- onResume

由HomeFragment切换到第SecondFragment,生命周期如下:上一个页面onHiddenChanged

HomeFragment -- onHiddenChanged
SecondFragment -- onAttach(Activity activity)
SecondFragment -- onCreate
SecondFragment -- onCreateView
SecondFragment -- onViewCreated
SecondFragment -- onActivityCreated
SecondFragment -- onStart
SecondFragment -- onResume

接下来由SecondFragment切换到ThirdFragment,由ThirdFragment切换至MeFragment的生命周期与上面的一样。

最后在MeFragment页面打开另一个SettingActivity页面,已经创建的Fragment和Activity调用onPause方法和onStop方法。

HomeFragment -- onPause
SecondFragment -- onPause
ThirdFragment -- onPause
MeFragment -- onPause
MainActivity -- onPause
HomeFragment -- onStop
SecondFragment -- onStop
ThirdFragment -- onStop
MeFragment -- onStop
MainActivity -- onStop

SettingActivity点击返回回到之前选中的MeFragment页面,调用Activity和Fragment的onStart方法和onResume方法,生命周期如下:

MainActivity -- onStart
HomeFragment -- onStart
SecondFragment -- onStart
ThirdFragment -- onStart
MeFragment -- onStart
MainActivity -- onResume
HomeFragment -- onResume
SecondFragment -- onResume
ThirdFragment -- onResume
MeFragment -- onResume

Fragment之间的切换,如果Fragment已经创建并启动,则分别调用两个Fragment的onHiddenChanged方法。比如由MeFragment切换到HomeFragment,生命周期调用如下:

MeFragment -- onHiddenChanged
HomeFragment -- onHiddenChanged

最后点击返回,退出MainActivity,生命周期如下:

HomeFragment -- onPause
SecondFragment -- onPause
ThirdFragment -- onPause
MeFragment -- onPause
MainActivity -- onPause
HomeFragment -- onStop
SecondFragment -- onStop
ThirdFragment -- onStop
MeFragment -- onStop
MainActivity -- onStop
HomeFragment -- onDestroyView
HomeFragment -- onDestroy
HomeFragment -- onDetach
SecondFragment -- onDestroyView
SecondFragment -- onDestroy
SecondFragment -- onDetach
ThirdFragment -- onDestroyView
ThirdFragment -- onDestroy
ThirdFragment -- onDetach
MeFragment -- onDestroyView
MeFragment -- onDestroy
MeFragment -- onDetach
MainActivity -- onDestroy






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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值