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