美文网首页
Fragment 生命周期

Fragment 生命周期

作者: 努力学习的安同学 | 来源:发表于2018-04-02 15:59 被阅读0次

    Fragment和Activity一样,同样拥有自己的生命周期,其声明周期和Activity类似。

    1. Fragment的状态和回调

    • 其中Activity主要有运行状态、暂停状态、停止状态、销毁状态这四种。类似的Fragment也会有这几种状态。

    1.1 Fragment的状态

    1.1.1 运行状态
    • 表示当前的Fragment为可见状态,并且与它所关联的Activity正处于运行状态,该Fragment也处于运行状态。
    1.1.2 暂停状态
    • 当一个Activity进入到暂停状态时(由于另一个未占满屏幕的活动被添加到了栈顶),与它相关联的可见碎片就会进入到暂停状态。
    1.1.3 停止状态
    • 当一个活动进入停止状态时,与它相关联的碎片就会进入到停止状态,或者通过调用FragmentTransaction的remove()、replace()方法将碎片从Activity中移除,但如果在事务提交之前调用了addToBackStack()方法,这是fragment也会进入到停止状态。
    • 总的来说,当Fragment进入到停止状态对于用户来说是完全不可见的,有可能会被系统回收。
    1.1.4 销毁状态
    • Fragment总是依附于Activity而存在的,因此当Activity被销毁时,与它相关联的碎片就会进入到销毁状态。或者通过调用FragmentTransaction的remove()、replace()方法将碎片从活动中移除,但在事务提交之前并没有调用addToBackStack()方法,这是碎片也会进入到销毁状态。

    1.2 Fragment的回调

    • Fragment提供了一系列的回调方法,以覆盖碎片生命周期中的每个环节。其中,Activity中有的回调方法,碎片中几乎都有,不过碎片还提供了一些附加的回调方法。
      1. onAttach()。当Fragment和Activity建立关联的时候调用。
      2. onCreateView()。为Fragment创建视图(加载布局)时调用。
      3. onActivityCreated()。确保与Fragment相关联的Activity一定已经创建完毕的时候调用。
      4. onDestoryView()。当与Fragment关联的视图被移除的时调用。
      5. onDetach()。当碎片和活动解除关联的时候调用。
    • 下图为Fragment的生命周期

    2. Fragment的生命周期代码示例

    相关文章

      网友评论

          本文标题:Fragment 生命周期

          本文链接:https://www.haomeiwen.com/subject/hghxhftx.html