假设有Fragment1和Fragment2
Fragment周期是:
**onAttach->onCreate->onCreateView->onActivityCreated->onStart->onResume->onPause->onStop->onDestroyView->
onDestroy->onDetach;**
Fragment1打开Fragment2不使用addToBackStack时:
onAttach1->onCreate1->onCreateView1->onActivityCreated1->onStart1->onResume1->onPause1>onStop1->onDestroyView1->onDestroy1->onDetach1->onAttach2->onCreate2->onCreateView2->onActivityCreated2->onStart2->onResume2->按返回键->onPause2->onStop2->onDestroyView2->onDestroy2->onDetach2;程序退出;
如图:(返回时没有截图这是按返回键前)
如果使用了addToBackStack则:
onAttach1->onCreate1->onCreateView1->onActivityCreated1->onStart1->onResume1->onPause1>onStop1->onDestroyView1
->onAttach2->onCreate2->onCreateView2->onActivityCreated2->onStart2->onResume2->按返回键>onPause2->onStop2->onDestroyView2->onDestroy2->onDetach2->onCreateView1->onActivityCreated1->onStart1->onResume1;
如图:
按返回键后:
如果Fragment执行的时候,其他的Activity被打开:
onAttach1->onCreate1->onCreateView1->onActivityCreated1->onStart1->onResume1->onPause1->Activity运行中->Activity结束->onResume1;
Activity结束: