1.Activity 的生命周期图
2.Fragment 的生命周期图
3.Activity 和 Fragment 的生命周期对比
从上面三种图可以得出,Activity 的生命周期有7个方法,Fragment 的生命周期有11个方法,虽然看起来很复杂,但是我们只要弄清了谁带领着谁去执行生命周期的方法之后,很快就能够弄明白它们之间的联系。
我们按照 Activity 的生命周期为导向,来分析:
a. 在创建的过程中,是 Activity 带领 Fragment 执行生命周期的方法,所以它们生命周期执行的顺序如下:
1. Activity -- onCreate()
2. Fragment -- onAttach() -> onCreate() -> onCreateView() -> onActivityCreated
b. 接下来:
3. Activity -- onStart()
4. Fragment -- onStart()
c. 再接下来:
5. Activity -- onResume()
6. Fragment -- onResume()
d. 最后,在销毁时是 Fragment 带领 Activity 执行生命周期的方法:
7. Fragment -- onPause()
8. Activity -- onPause()
9. Fragment -- onStop()
10. Activity -- onStop()
11. Fragment -- onDestroyView() -> onDestroy() -> onDetach()
12. Activity -- onDestroy()
上面的这个顺序有一个前提,就是我们所有的日志打印代码都是紧挨着 super() 方法写。综上 Activity 和 Fragment的生命周期比较总结一句话就是: 在创建的过程中是 Activity 带领着 Fragment,而在销毁的过程中是 Fragment 带领着 Activity。
原文链接: https://blog.csdn.net/u012702547/article/details/50253955