Android Fragment生命周期图:
Activity生命周期图:
对照图:
Fragment生命周期分析:
1. 当一个fragment被创建的时候,它会经历以下状态.
2. 当这个fragment对用户可见的时候,它会经历以下状态。
3. 当这个fragment进入“后台模式”的时候,它会经历以下状态。
4. 当这个fragment被销毁了(或者持有它的activity被销毁了),它会经历以下状态。
5. 就像activitie一样,在以下的状态中,可以使用Bundle对象保存一个fragment的对象。
6. fragments的大部分状态都和activitie很相似,但fragment有一些新的状态。
一旦activity进入resumed状态(也就是running状态),你就可以自由地添加和删除fragment了。因此,只有当activity在resumed状态时,fragment的生命周期才能独立的运转,其它时候是依赖于activity的生命周期变化的。
Activity生命周期分析:
上面7个生命周期方法分别在4个阶段按着一定的顺序进行调用,这4个阶段如下:
如果在这4个阶段执行生命周期方法的过程中不发生状态的改变,那么系统会按着上面的描述依次执行这4个阶段中的生命周期方法,但如果在执行的过程中改变了状态,系统会按着更复杂的方式调用生命周期方法。
在执行的过程中可以改变系统的执行轨迹的生命周期方法是onPause和onStop。如果在执行onPause方法的过程中Activity重新获得了焦点,然后又失去了焦点。系统将不会再执行onStop方法,而是按着如下的顺序执行相应的生命周期方法:
如果在执行onStop方法的过程中Activity重新获得了焦点,然后又失去了焦点。系统将不会执行onDestroy方法,而是按着如下的顺序执行相应的生命周期方法:
在图2所示的Activity生命周期里可以看出,系统在终止应用程序进程时会调用onPause、onStop和onDesktroy方法。而onPause方法排在了最前面,也就是说,Activity在失去焦点时就可能被终止进程,而onStop和onDestroy方法可能没有机会执行。因此,应该在onPause方法中保存当前Activity状态,这样才能保证在任何时候终止进程时都可以执行保存Activity状态的代码。
Android Activity生命周期以及Fragment生命周期的区别与分析
原文:http://www.cnblogs.com/zzw1994/p/4985434.html