Android Fragment的生命周期(经典版)
Android Fragment的生命周期与宿主Activity紧密关联,但包含更多与视图相关的回调方法,主要分为以下阶段:
核心生命周期方法及作用
- 1. 关联阶段
- •
onAttach()
:Fragment与Activity建立关联,可获取Activity上下文及传递参数 - •
onCreate()
:初始化非UI数据(如数据库查询),此时视图未创建
- •
- 2. 视图创建阶段
- •
onCreateView()
:加载布局文件并返回根视图(需避免直接操作UI组件) - •
onViewCreated()
:视图初始化完成,可安全绑定控件和设置监听器 - •
onActivityCreated()
:宿主Activity的onCreate()
已完成,可执行Activity与Fragment交互
- •
- 3. 活跃阶段
- •
onStart()
:Fragment可见(与Activity同步) - •
onResume()
:Fragment可交互(如启动动画或注册传感器)
- •
- 4. 暂停/停止阶段
- •
onPause()
:失去焦点时调用(如弹窗出现),需停止耗时操作 - •
onStop()
:完全不可见时释放UI资源
- •
- 5. 销毁阶段
- •
onDestroyView()
:视图被移除(Fragment实例仍存在),需清理视图绑定 - •
onDestroy()
:销毁非视图资源 - •
onDetach()
:与Activity解除关联,生命周期结束
- •
生命周期特点
- • 依赖Activity状态:若Activity暂停,其所有Fragment也会暂停;Activity销毁则Fragment随之销毁
- • 新增回调:相比Activity多了
onAttach()
、onDetach()
等与视图管理相关的方法
典型场景示例
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {super.onViewCreated(view, savedInstanceState)val textView = view.findViewById<TextView>(R.id.text_view)textView.text = "视图初始化完成" // 在此安全操作UI组件
}