1.3 Activity 生命周期完整流程(详细版)
Android 的 Activity 生命周期 由系统管理,不同的用户操作会触发不同的生命周期方法。下面是几个常见的 生命周期流程及触发场景。
1.3.1 Activity 启动流程
触发场景:应用程序启动或用户打开 Activity。
生命周期调用顺序:
onCreate() → onStart() → onResume()
详细过程:
onCreate()
- Activity 被创建,初始化 UI 和数据。
- 适合进行 View 绑定、数据库初始化、读取 Intent 参数等操作。
onStart()
- Activity 对用户可见,但还无法交互。
- 适合注册广播、绑定 Service、加载动画等。
onResume()
- Activity 进入前台,可以与用户交互。
- 适合恢复动画、监听用户输入、播放音视频等。
1.3.2 按 Home 键(进入后台)
触发场景:用户按下 Home 键,或者切换到其他应用。
生命周期调用顺序:
onPause() → onStop()
详细过程:
onPause()
- Activity 失去焦点,但仍然可见。
- 适合暂停动画、保存用户输入、暂停音视频播放。
onStop()
- Activity 完全不可见。
- 适合释放大量资源,如解绑 Service、关闭数据库等。
1.3.3 回到应用(从后台恢复)
触发场景:用户重新打开应用。
生命周期调用顺序:
onRestart() → onStart() → onResume()
详细过程:
onRestart()
- 仅当 Activity 先
onStop()
但未被销毁时触发。 - 适合 刷新数据,检查 App 是否被后台杀死。
onStart()
- Activity 再次可见,类似 Activity 启动时的
onStart()
。
onResume()
- Activity 获取焦点,用户可以正常交互。
1.3.4 退出应用(用户点击返回键)
触发场景:用户点击返回键 Back
,或者 finish()
关闭 Activity。
生命周期调用顺序:
onPause() → onStop() → onDestroy()
详细过程:
onPause()
- 先暂停动画、保存数据等。
onStop()
- 释放数据库、解绑 Service。
onDestroy()
- Activity 彻底销毁,回收所有资源,避免内存泄漏。