Activity的生命周期可以被分为以下7种状态:
- 创建状态(Created):当Activity被调用时,它会进入创建状态,此时Activity会执行onCreate()回调方法。
- 启动状态(Started):当Activity已经可见,但还无法进行交互时,Activity就会进入启动状态,此时Activity会执行onStart()回调方法。
- 恢复状态(Resumed):当Activity可见且可进行交互时,Activity会进入恢复状态,此时Activity会执行onResume()回调方法。
- 暂停状态(Paused):当Activity失去焦点或部分遮挡时,Activity会进入暂停状态,此时Activity会执行onPause()回调方法。
- 停止状态(Stopped):当Activity不可见时,Activity会进入停止状态,此时Activity会执行onStop()回调方法。
- 销毁状态(Destroyed):当Activity被销毁时,Activity会进入销毁状态,此时Activity会执行onDestroy()回调方法。
- 重启状态(Restarted):当Activity从停止状态重新启动时,Activity会进入重启状态,此时Activity会执行onRestart()回调方法。
除上述状态外,Activity还可以进入以下两个状态:
- 提前开始状态(Pre-Started):当Activity已经被创建但还未进入启动状态时,Activity会进入提前开始状态,此时Activity会执行onCreate()和onStart()回调方法。
- 可见暂停状态(Visible-Paused):当Activity被遮挡或失去焦点时,Activity会进入可见暂停状态,此时Activity会执行onPause()和onStop()回调方法。
状态转换情况如下:
- 从创建状态(Created)到启动状态(Started): 调用onStart()方法
- 从启动状态(Started)到恢复状态(Resumed): 调用onResume()方法
- 从恢复状态(Resumed)到暂停状态(Paused): 调用onPause()方法
- 从暂停状态(Paused)到恢复状态(Resumed): 调用onResume()方法
- 从恢复状态(Resumed)到停止状态(Stopped): 调用onStop()方法
- 从停止状态(Stopped)到恢复状态(Resumed): 调用onRestart()和onStart()方法
- 从停止状态(Stopped)到销毁状态(Destroyed): 调用onDestroy()方法
回调方法如下:
- onCreate():当Activity被创建时执行的方法,可以在该方法中进行一些初始化操作,如绑定布局、设置界面元素等。
- onStart():当Activity进入可见状态时执行的方法,可以在该方法中进行一些UI的初始化等操作。
- onResume():当Activity进入前台可交互状态时执行的方法,可以在该方法中进行一些数据加载、音频播放和资源申请等操作。
- onPause():当Activity失去焦点时执行的方法,可以在该方法中进行一些资源释放、文件保存等操作。
- onStop():当Activity进入后台不可见状态时执行的方法,可以在该方法中进行一些资源的释放、暂停等操作。
- onRestart():当Activity重新启动时执行的方法,可以在该方法中进行一些数据恢复操作。
- onDestroy():当Activity被销毁时执行的方法,可以在该方法中进行一些资源释放、文件关闭等操作。