文章目录
-
onCreate
当Activity第一次创建时会被调用。 -
onRestart
表示Activity正在重新启动 -
onStart
表示Activity正在被启动,即将开始 -
onResume
表示Activity已经可见,并且出现在前台开始活动 -
onPause
表示Activity正在停止,仍可见,正常情况下,紧接着onStop就会被调用。 -
onStop
表示Activity即将停止,不可见,位于后台 -
onDestroy
表示即将销毁。
生命周期
- 针对一个特定的Activity,第一次启动回调如下:onCreate、onStart、onResume
- 打开新的Activity :上述Activity的回调如下:onPause、onStop
- 再次回到原来Activity时,回调如下:onRestart、onStart、onResume
- 按back键回退时,回调如下:onPause、onStop、onDestory
- 按Home键切换到桌面后又回到该Activity,回调如下:onPause、onStop、onRestart、onStart、onResume
- 调用finish方法后,回调如下:onDestory
特殊情况下的生命周期
onSaveInstanceState 保存当前Activity的状态。
onSaveInstanceState 方法所保存的Bundle对象参数传递给 onRestoreInstanceState 和 __onCreate__方法
- 横竖屏切换生命周期:
onPause、onSaveInstanceState、onStop、onDestroy、onCreate、onStart、onRestoreInstanceState、onResume
可以通过再AndroidManifest文件的Activity中指定如下属性:
android:configChanges="orientation|screenSize"
- 资源内存不足导致优先级低的Activity被杀死
Activity优先级划分和下面的Activity的三种运行状态是对应的
1)前台Activity——正在和用户交互Activity,优先级最高
2)可见但非前台Activity——例如Activity中弹出一个对话框,导致Activity可见但是位于后台无法和用户交互。
3)后台Activity——已经被暂停了的Activity,例如执行了onStop,优先级最低。