前提: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执行。
好了,又可以愉快玩耍了。