zoukankan      html  css  js  c++  java
  • Fragment的生命周期

    Fragment的生命周期

    Fragment主要用于将Activity的UI界面划分成多个可复用的部分,这样可以使App的UI界面更容易适应多种不同屏幕分辨率的设备。

    Fragment作为可复用的组件,有独立的生命周期,但同时作为Activity的一部分,其生命周期也会受其所属Activity的生命周期的影响。

    Fragment的生命周期如下图所示:

    Fragment的生命周期与其所属Activity的生命周期之间的关系如下图所示:

    onAttach

    • Fragment被加入Activity时回调

    onCreate

    • Fragment被创建时回调,此方法中通常对一些需要持久化的成员进行初始化。

    onCreateView

    • Fragment在此方法中初始化UI组件,该方法返回一个View对象,作为该Fragment的UI界面的根组件。

    onActivityCreated

    • 当Fragment所属Activity的onCreate方法执行完成时回调此方法。

    要注意的是, 执行前三个方法时,Fragment所属Activity可能尚未执行完onCreate方法,因此不能在这三个方法中依赖使用Activity的成员。

    onStart

    • 类似Activity的onStart方法,Fragment即将转入前台变成可见状态。

    onResume

    • 类似Activity的onResume方法,Fragment已经变成可见的状态,并获得用户焦点。

    onPause

    • 类似Activity的onPause方法,其他Fragment将转入前台替代此Fragment,或者Fragment所属的Activity即将被其他Activity所替代。

    onStop

    • 类似Activity的onStop方法,Fragment变成不可见状态,其他Fragment替代了此Fragment或者其所属的Activity变成完全不可见的状态。

    Fragment的onStart方法到onStop方法与Activity的同名方法紧密相关,当Activity调用这些方法时,其包含的所有Fragment都会调用相对应的同名方法。

    onDestroyView

    • 当Fragment被从所属Activity中移走或者被其他Fragment替代时,系统调用此方法清理在onCreateView方法中创建的UI资源。

    onDestroy

    • Fragment的资源即将被系统回收,该Fragment将彻底消亡。

    如果在删除或替换此Fragment之前,调用了addToBackStack方法将Transaction加入transaction栈,则执行完onDestroyView之后系统不会执行onDestroy。

    onDetach

    • Fragment从所属Activity中移除完成后调用。



    只有当Fragment所属Activity进入Resumed状态,即执行完onResume方法之后,Fragment才可以自由反复地从其所属Activity中被移除或者被替换,才能独立进行生命周期的演变。

  • 相关阅读:
    MySQL优化---主从复制
    MySQL性能优化---优化方案
    MySQL性能优化---索引
    MySQL性能优化---定位慢查询
    Linux开机启动过程详解
    naginx
    Git搭建
    脚本中特殊字符
    Shell脚本
    简单Shell脚本(实例)
  • 原文地址:https://www.cnblogs.com/jqctop1/p/5456704.html
Copyright © 2011-2022 走看看