- 创建阶段:
onCreate
方法被调用,用于初始化 Activity,如设置布局等。 - 启动阶段:依次调用
onStart
和onResume
方法,让 Activity 变得可见并可与用户交互。 - 暂停与恢复阶段:当 Activity 失去焦点但可见时,
onPause
方法被调用,可用于保存临时数据等;当 Activity 重新获得焦点时,onResume
方法被调用,恢复相关操作。 - 停止与销毁阶段:当 Activity 完全不可见时,
onStop
方法被调用,可释放一些资源;最后,onDestroy
方法被调用,用于彻底清理资源,如释放内存等。
在安卓生命周期中,“Resume” 的意思是 “恢复”。当一个 Activity 从暂停状态(比如用户切换到其他应用后又切回该 Activity)重新回到前台并获得焦点,可与用户进行交互时,就会调用onResume
方法,意味着 Activity 恢复到可正常运行的状态。
首次启动 Activity
当你启动一个应用程序,对应的 Activity 首次显示在屏幕上时,会依次调用以下生命周期方法:
- onCreate:应用程序启动,系统创建 Activity 实例,此方法会被调用,用于初始化 Activity 的基本设置,如加载布局、初始化变量等。
- onStart:Activity 即将对用户可见,系统调用此方法,做好展示准备。
- onResume:Activity 获得焦点,可与用户交互,此时 Activity 处于前台运行状态。
用户按下 Home 键
当你在应用运行时按下手机的 Home 键,Activity 会进入后台,此时会依次调用以下方法:
- onPause:Activity 失去焦点,但仍然可见,此方法用于暂停一些正在进行的操作,如暂停视频播放、暂停动画等。
- onStop:Activity 完全不可见,系统调用此方法,可在此释放一些占用资源的对象。
用户再次回到应用
在按下 Home 键使应用进入后台后,当你再次打开该应用时,Activity 会从停止状态重新启动,依次调用以下方法:
- onRestart:Activity 从停止状态重新启动,此方法会被调用。
- onStart:Activity 再次变得可见。
- onResume:Activity 重新获得焦点,可与用户交互。
关闭 Activity
当你通过点击返回键或者调用 finish()
方法关闭当前 Activity 时,会依次调用以下方法:
- onPause:Activity 失去焦点。
- onStop:Activity 完全不可见。
- onDestroy:Activity 被销毁,系统回收相关资源。
屏幕旋转
当你旋转手机屏幕时,Activity 会被销毁并重新创建,依次调用以下方法:
- onPause:Activity 失去焦点。
- onStop:Activity 完全不可见。
- onDestroy:Activity 被销毁。
- onCreate:系统重新创建 Activity 实例。
- onStart:Activity 即将可见。
- onResume:Activity 获得焦点,可与用户交互。
打开新的 Activity
当当前 Activity 启动一个新的 Activity 时,当前 Activity 会进入后台,依次调用以下方法:
- onPause:Activity 失去焦点,但仍然可见。
- onStop:Activity 完全不可见。