Fragment的生命周期

Posted z啵唧啵唧

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Fragment的生命周期相关的知识,希望对你有一定的参考价值。

文章目录

Fragment的生命周期

  • 和Activity一样,Fragment也有自己的生命周期,并且Fragment的生命周期和Activity也是十分的相似

Fragment的状态和回调

  • Fragment和Activity一样也会经历四种状态:运行状态,暂停状态,停止状态,销毁状态

运行状态

  • 当一个Fragment所关联的Activity正处在运行状态的时候,该Fragment也处于运行状态

暂停状态

  • 当一个Activity进入暂停状态的时候(由于另一个未占满屏幕的Activity被添加到栈顶),与它相关联的Fragment就进入到了暂停状态

停止状态

  • 当一个Activity进入到停止状态的时候,与他相关联的Fragment就进入到了停止状态,或者通过调用FragmentTransation的remove(),replace()方法将Fragment从Activity中移除,但在事务提交之前调用了addToBackStack()方法,这时的Fragment也会进入到停止状态.总的来说,进入停止状态的Fragment对用户来说是完全不可见的,有可能会会被系统进行回收.

销毁状态

  • Fragment是依附于Activity而存在的,因此当Activity被销毁的时候,与它相关联的Fragment就会进入到销毁状态,或者通过调用了FragmentTransation的remove(),replace()方法将Fragment从Activity中移除,但在事务提交之前没有调用addToBackStack()方法,这时的Fragment也会进入到销毁状态.

回调方法

  • 在Fragment中也有一系列的回调方法,以覆盖它生命周期的每一个环节,其中Activity中有的回调方法,Fragment中基本也有,不过Fragment还提供了一些附加的回调方法

附加的回调方法

onAttach()
  • 当Fragment和Activity进行关联的时候进行调用
onCreateView()
  • 为Fragment创建视图(加载布局)的时候进行调用
onActivityCreated()
  • 确保Fragment相关联的Activity已经创建完毕的时候,进行调用
onDestroyView()
  • 当与Fragment关联的视图被调用的时候进行调用
onDetach()
  • 当Fragment和Activity解除关联的时候进行调用

Fragment完整的生命周期图

以上是关于Fragment的生命周期的主要内容,如果未能解决你的问题,请参考以下文章

Fragment生命周期

Fragment的生命周期

深刻的理解Fragment生命周期 都在做什么,fragment生命周期

Fragment生命周期详解

Fragment的生命周期

Fragment的生命周期