Fragment相关
Fragment是Android3.0后引入的,起初是为了在大屏幕上更灵活的去展示UI,现在通常使用的方式是ViewPager+Fragment,
Fragment有自己的生命周期,必须依附于Activity。
Fragment的生命周期:
Fragment是依附于Activity的,所以Activity的生命周期会直接影响Fragment的生命周期。下图是Google官方的一张图:
Activity生命周期有7个方法,Fragment生命周期有11个方法,听起来挺复杂的,然而通过Log日志,我们来看一下是谁带着谁去执行生命周期的方法,来缕一下各个生命周期是怎么执行的:
在创建的过程中 ,Activity和Fragment的生命周期是这样的:
1. Activity-->onCreat( );
2. Fragment-->onAttach( );
3. Fragment-->onCreat( );
4. Fragment-->onCreatView( );
5. Fragment-->onActivityCreated( );
6. Activity-->onStart( );
7. Fragment-->onStart( );
8. Activity-->onResume( );
9. Fragment-->onResume( );
对于Activity 和 Fragment,onResume( )这个生命周期是他们执行时间最长的,当Activity或者Fragment打开之后,他们就一直处于这个生命周期之中。
当销毁的时候 ,就是Fragment带着Activity执行生命周期了:
10.Fragment-->onPause( );
11.Activity-->onPause( );
12.Fragment-->onStop( );
13.Activity-->onStop( );
14.Fragment-->onDestoryView( );
15.Fragment-->onDestory( );
16.Fragment-->onDetach( );
17.Activity-->onDestory( );
由此可以看出,当创建的时候是Activity带着Fragment执行,当销毁时,是Fragment带着Activity执行。