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周期图示:

Android  Activity生命周期

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