Android开发之Activity的生命周期

                                                              Android开发之Activity的生命周期

     关于Activity的生命周期主要是看6个方法的执行过程

       我画了个草图

      Android开发之Activity的生命周期

 这个是网上找的更为详细的周期图片

Android开发之Activity的生命周期



      我们现在来讲解一下,当用户点击一个app后,首个activity的oncreat()方法被调用,

  标志着该Activity的生命周期的开始,当这个activity的页面充满整个手机屏幕的时         候,onstart()方法被调用,此时此activity的可视生命周期开始,而此时这个页面也处于

最前方,也称之为前台,此时它的onResume方法被调用,页面获取焦点,这就意味着它上面的button组件是可以被用户点击的,此时该activity的前台生命周期开始。

      当另一个activity覆盖此activity时onPause()就会被调用,界面失去焦点,控件不能得到点击事件,此时前台生命周期结束,此时又分为两种情况,

       假设刚开始的activity为activity01

       1、:activity02完全覆盖了activity01,activity不可见,如图:

       Android开发之Activity的生命周期

        此时activity02 的onCreate(),onStart(),onResume()方法逐一被调用,

       activity01的onPause(),onStop()依次被调用,activity01前台生命周期,可视生命周期结束依次结束。

         但,此时的activity01并没有被销毁,而是静待时机,而后他会有两种命运

          ①:内存空间不足时 ----  它会被杀掉,进入到oncreat方法中等待再次被调用

          ②:内存足够,又一次被调用,先启动onRestart()方法,进入启动,然后调用

                 onStart()方法,开启新的旅程。

        2、:后启动的activity如activity03以对话框的形式出现,并没有完全覆盖activity01

                  ,它仍可视,如图:

         Android开发之Activity的生命周期

          此时,activity03依次调用oncreat(),onstart(),onResume()方法,开启activity03的生命周期,直接进入前台生命周期、可视生命周期

          此时对于activity01,调用onPause(),界面失去焦点,控件不能得到点击事件,前台生命周期结束,但是因为依然可见,onStop()方法并没有被调用,activity01依然处于可视生命周期.

          最后当用户退出app时,所有activity的onDestroy()方法被调用,activity生命周期结束

         

        谢谢您的阅览,学习愉快~