Fragment与Activity的生命周期

本文详细介绍了Android中V4版本及之前版本的Fragment生命周期,包括从启动到销毁的各个阶段,如onCreate、onStart、onResume等关键方法的调用顺序,并对比了不同版本之间的差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.参考:https://github.com/xxv/android-lifecycle
2.v4的Fragment生命周期

//v4启动(Activity Created)
MainFragmentActivity.onCreate
TestCompatFragment.onInflate
TestCompatFragment.onAttach
MainFragmentActivity.onAttachFragment
TestCompatFragment.onCreate
TestCompatFragment.onCreateView
TestCompatFragment.onViewCreated
MainFragmentActivity.onContentChanged
//(Activity Started)
MainFragmentActivity.onStart / →☐
TestCompatFragment.onActivityCreated
TestCompatFragment.onViewStateRestored
TestCompatFragment.onStart
MainFragmentActivity.onStart / ☐→
MainFragmentActivity.onPostCreate
//(Activity Resumed)
MainFragmentActivity.onResume
MainFragmentActivity.onPostResume / →☐
MainFragmentActivity.onResumeFragments / →☐
TestCompatFragment.onResume
MainFragmentActivity.onResumeFragments / ☐→
MainFragmentActivity.onPostResume / ☐→
MainFragmentActivity.onAttachedToWindow
//(OptionsMenu)
MainFragmentActivity.onCreateOptionsMenu
TestCompatFragment.onCreateOptionsMenu
MainFragmentActivity.onPrepareOptionsMenu
TestCompatFragment.onPrepareOptionsMenu
MainFragmentActivity.onPrepareOptionsMenu
TestCompatFragment.onPrepareOptionsMenu
MainFragmentActivity.onWindowFocusChanged

//v4黑屏(Activity Paused)
MainFragmentActivity.onPause / →☐
TestCompatFragment.onPause
MainFragmentActivity.onPause / ☐→
MainFragmentActivity.onSaveInstanceState / →☐   
TestCompatFragment.onSaveInstanceState
MainFragmentActivity.onSaveInstanceState / ☐→
//(Activity Stopped)
MainFragmentActivity.onStop / →☐
TestCompatFragment.onStop
MainFragmentActivity.onStop / ☐→
MainFragmentActivity.onWindowFocusChanged

//v4亮屏(Activity Started)
MainFragmentActivity.onRestart
MainFragmentActivity.onStart / →☐
TestCompatFragment.onStart
MainFragmentActivity.onStart / ☐→
//(Activity Resumed)
MainFragmentActivity.onResume
MainFragmentActivity.onPostResume / →☐
MainFragmentActivity.onResumeFragments / →☐
TestCompatFragment.onResume
MainFragmentActivity.onResumeFragments / ☐→
MainFragmentActivity.onPostResume / ☐→

//v4退出(Activity Paused)
MainFragmentActivity.onUserInteraction
MainFragmentActivity.onUserInteraction
MainFragmentActivity.onWindowFocusChanged
MainFragmentActivity.onPause / →☐
TestCompatFragment.onPause
MainFragmentActivity.onPause / ☐→
//(Activity Stopped)
MainFragmentActivity.onStop / →☐
TestCompatFragment.onStop
MainFragmentActivity.onStop / ☐→
//(Activity Destroyed)
MainFragmentActivity.onDestroy / →☐
TestCompatFragment.onDestroyView
TestCompatFragment.onDestroy
TestCompatFragment.onDetach
MainFragmentActivity.onDestroy / ☐→
MainFragmentActivity.onDetachedFromWindow

3.v4之前的Fragment生命周期

//启动(Activity Created)
MainActivity.onCreate
TestFragment.onInflate
TestFragment.onAttach
MainActivity.onAttachFragment
TestFragment.onCreate
TestFragment.onCreateView
TestFragment.onViewCreated
MainActivity.onContentChanged
TestFragment.onActivityCreated
TestFragment.onViewStateRestored
//(Activity Started)
MainActivity.onStart
TestFragment.onStart
MainActivity.onPostCreate
//(Activity Resumed)
MainActivity.onResume
TestFragment.onResume
MainActivity.onPostResume
MainActivity.onAttachedToWindow
//(OptionsMenu)
MainActivity.onCreateOptionsMenu
TestFragment.onCreateOptionsMenu
MainActivity.onPrepareOptionsMenu
TestFragment.onPrepareOptionsMenu
MainActivity.onPrepareOptionsMenu
TestFragment.onPrepareOptionsMenu
MainActivity.onWindowFocusChanged

//黑屏(Activity Paused)
TestFragment.onPause
MainActivity.onPause
MainActivity.onSaveInstanceState / →☐
TestFragment.onSaveInstanceState
MainActivity.onSaveInstanceState / ☐→
//(Activity Stopped)
TestFragment.onStop
MainActivity.onStop
MainActivity.onWindowFocusChanged

//亮屏(Activity Started)
MainActivity.onRestart
MainActivity.onStart
TestFragment.onStart
//(Activity Resumed)
MainActivity.onResume
TestFragment.onResume
MainActivity.onPostResume
MainActivity.onWindowFocusChanged

//退出(Activity Paused)
MainActivity.onUserInteraction
MainActivity.onUserInteraction
MainActivity.onWindowFocusChanged 
TestFragment.onPause
MainActivity.onPause
//(Activity Stopped)
TestFragment.onStop
MainActivity.onStop
//(Activity Destroyed)
TestFragment.onDestroyView
TestFragment.onDestroy
TestFragment.onDetach
MainActivity.onDestroy
MainActivity.onDetachedFromWindow
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值