Android Fragment的生命周期

Android Fragment的生命周期

一、Fragment的状态
Android的Activity生命周期中所类似,Fragment同样有四个状态,只不过有一些区别。

  1. 运行状态
    当一个Fragment是可见的,并且它所关联的Activity正处于运行状态,该Fragment也处于运行状态。
  2. 暂停状态
    当一个Activity进入暂停状态时(由于另一个未占满屏幕的Activity被添加到栈顶),与它关联的可见Fragment就会进入暂停状态
    在这里插入图片描述
  3. 停止状态
    当一个Activity进入停止状态,与它相关联的Fragment就会进入停止状态,或者通过调用FragmentTransaction的remove()、replace()方法将Fragment从Activity中移除,但如果在事务提交之前调用addToBackStack()方法,这时Fragment也会进入停止状态
    总的来说,进入停止状态的Fragment对用户来说是完全不可见的,有可能会被系统回收
  4. 销毁状态
    Activity被销毁时,与它相关联的Fragment进入销毁状态。或者通过调用FragmentTransaction的**remove()、replace()方法将Fragment从Activity中移除,但事务提交之前没有调用addToBackStack()**方法,Fragment进入销毁状态。
    在这里插入图片描述
    关于Fragment的addToBackStack()方法的相关知识与使用,参照:Fragment的使用及其addToBackStack()方法

二、Fragment的回调方法与生命周期
Fragment中的回调方法除了Activity中的几个回调方法之外,还包括了一些附加的回调方法,如下:
 onAttach():当Fragment和Activituy建立关联的时候调用。
 onCreateView():为Fragment创建视图(加载布局)时调用。
 onActivityCreated():确保与Fragment相关联的Activity一定已经创建完毕的时候调用。
 onDestroyView():当与Fragment关联的View被移除的时候调用。
 onDetach():当Fragment和Activity解除关联的时候调用。
在这里插入图片描述
Fragment完整的生命周期示意图。
在这里插入图片描述
了解Activity的生命周期,对于Fragment的生命周期能够更快速的理解。

参考资料:《第一行代码——Android第2版》

猜你喜欢

转载自blog.csdn.net/weixin_38196407/article/details/88598350