android 记录Activity和Fragment生命周期顺序
前提:Activity中包含有Fragment
1、创建Activity:
Activity onCreate() -——— Fragment onAttach() ———- Fragment onCreate() ——— Fragment onCreateView() ——— Fragment onViewCreated() ——- Fragment onActivityCreated() ——
Fragment onStart() ——— Activity onStart() -—— Activity onResume() -——- Fragment onResume()
2、息屏 或 切换到任务列表:
Fragment onPause() ——- Activity onPause() -—— Fragment onStop() ——— Activity onStop()
3、亮屏 或 从任务列表切回来 或 从桌面切回来:
Activity onRestart() -—— Fragment onStart() ——— Activity onStart() -——- Activity onResume() -——
Fragment onResume()
4、切换到桌面 (点击Home键):
Fragment onPause() ——- Activity onPause() -—— Fragment onStop() ——- Activity onStop()
5、销毁Activity:
Fragment onPause() —— Activity onPause() -—— Fragment onStop() ——— Activity onStop() -——-
Fragment onDestroyView() ——- Fragment onDestroy() ——- Fragment onDetach() ———
Activity onDestroy()
红色字体是Activity的生命周期,黑色字体是Fragment的;
总结:1、Activity的生命周期长于Fragment,Activity最先创建最后销毁;
2、只有Activity onCreate、onRestart、onResume函数早于Fragment对应函数,其他的生命周期函数都晚于Fragment对应函数;
3、Activity和Fragment生命周期是缠绕式的,并不是Activity作为大哥都把一系列周期都执行完毕了,才让Fragment执行。
好了,又可以愉快玩耍了。
还没有评论,来说两句吧...