Android Activity生命周期
首先了解一下什么是Activity?
简单的说:Activity就是布满整个窗口或者炫富于其他窗口上的交互界面。在一个应用程序中通常由多个Activity构成,都会在Manifest.xml中指定一个主的Activity。
当程序第一次运行时,用户就会看到这个Activity,这个Activity可以通过启动其他的Activity进行相关操作。
当启动其他的Activity时这个当前的Activity将会停止,新的Activity将会压入栈中,同时获取用户焦点,这时就可在这个Activity上操作了。栈是先进后出的原则,那么当用户按back键时,当前的这个Activity销毁,前一个Activity重新恢复。
Activity生命周期
Activity生命周期的7个方法和3个阶段。
7个方法如下:
- Void onCreate(Bundle savedInstanceState)
- Void onStart()
- Void onRestart()
- Void onResume()
- Void onPause()
- Void onStop()
- Void onDestroy()
Android周期图示:
Activity经历的三个阶段:
- 开始Activity:在这个阶段依次执行3个生命周期的方法,分别是onCreate、onStart、onResume方法。
- Activity重新获得焦点:依次执行3个生命周期方法,分别是onRestart、onStart、onResume方法。
- 关闭Activity:当Activity被关闭时系统会依次执行3个生命周期方法,分别是:onPause、onStop、onDestory。
Android应用的生命周期
从以上的Activity的生命周期可以看出,该图包含了两层循环,第一层循环是onPause→onResume→onPause;第二层循环是onStart→onRestart→onResume→onPause→onStop。我们可以将这两层的循环看成整个Activity的生命周期的子生命周期。第一层循环称为焦点生命周期,第二层循环可以视为生命周期。也就是说,第一层循环在Activity焦点获得与失去的过程中循环,在这个过程中,Activity始终是可见的,第二层循环是Activity可见和不可见的过程中循环。这个过程中伴随着Activity焦点的获得与失去,也就是说,Activity首先会被现实,然后会获得焦点,接着失去焦点,最后弹出其他的Activity。
Activity具体的生命周期如下:
- 整体的生命周期:onCreate→…→onDestory
- 可视生命周期:onStart→…→onStop
- 焦点生命周期:onResume→onPause