Android之Fragment的生命周期

在继续上一篇文章,继续介绍Fragment生命周期

1、Activity的生命周期函数

2、Fragment常用函数介绍

3、Fragment常用函数完整调用过程

4、Fragment与Activity完整生命周期

Activity的生命周期函数

  1. onAttach

    绑定Activity, 此函数只有一个Activity 参数在此可执行 mActivity = activity操作, 持有activity 引用(可做一定的优化,防止内存泄露)
    1. onCreate
    初始化Fragment, 带有一个 savedInstanceState参数,作用与Acttivity中一致
    1. onCreateView
    初始化Fragment 布局, 可以做一些findViewByid操作但不建议做耗时任务, 例如数据库操作等
    1. onActivityCreated
    表示与Fragment绑定的Activity已经执行完onCreate 生命周期函数.说明此后可以与Activity 进行交互, 但如果在此之前交互, 会发生空指针
    1. onStart
    Fragment 由不可见进入可见状态
    1. onResume
    Fragment 处于活动状态, 可见可交互
    1. onPause
    暂停, Fragment可见但不可交互
    1. onStop
    停止Fragment, Fragment 由可见进入不可见状态
    1. onDestroyView
    销毁与Fragment相关的视图布局, 与Activity 仍然处于绑定状态, 可通过onCreateView进行重建
    1. onDestroy
    销毁Fragment, 一般由内存回收或按Back 键出发调用
    1. onDetach
    解除与Activity的绑定
    1. 贴一张官方生命周期函数图

    2 . Fragment常用函数介绍

    2.1. setUserVisibleHint

    Fragment 可见或不可见时调用,  可利用此函数做Fragment的懒加载

    2.2. onSaveInstanceState

    保存当前Fragment状态, 与Activity中的此函数一致, 可存储EditText输入的文本

    2.3. onViewStateRestored

    视图层次结构的所有保存状态都已恢复, 与Activity中的 onRestoreInstanceState 函数类似

    3. Fragment常用函数完整调用过程

    3.1 Fragment 创建过程

    setUserVisibleHint()->   onAttach()->  onCreate()->   onCreateView()->  onActivityCreated()->  onStart() ->  onResume()->

    3.2 Fragment变为不可见状态过程

    onPause()->onSaveInstanceState()->onStop()

    3.3 Fragment 部分可见(弹出Dialog 风格的Activity)时

       onPause()->onSaveInstanceState();

    3.4 退出应用

    onPause()->onStop()->onDestroyView()->onDestroy()->onDetach()

4. Fragment与Activity完整生命周期

注意:

在Fragment成对存在的生命周期函数与Activity 类似, 在此就不做介绍了, 可查看上一篇文章

Activity生命周期

更多相关文章

  1. Android全屏 去除标题栏和状态栏
  2. 在webView 中使用JS 调用 Android(安卓)/ IOS的函数 Function
  3. android状态栏中多个通知冲突的问题
  4. android电话系统和ril分析(2)————rild详细分析
  5. Android(安卓)Native层Binder.transact()函数调用 Binder.onTran
  6. Android(安卓)Webkit中DocumentWriter模块分析
  7. Android应用编程--基本概念
  8. Android游戏引擎《Rokon》:常见问题汇总(2010.11.15更新)
  9. TextView获取父控件的绘图状态

随机推荐

  1. Android之Selector详解(背景选择器)
  2. Android使用Intent Filter来响应隐式Inte
  3. 学习OpenGL ES for Android(四)
  4. stagefright架构
  5. SPB Shell 3D:打造最酷3D效果的Android界
  6. 使用NDK编译CMU Sphinx
  7. Android(安卓)Settings 导入eclipse(含有
  8. [Android] FileInputStream跟踪
  9. Android AOSP基础(四)Source Insight和Andr
  10. android handler 多线程demo