Android开发之Activity的生命周期

本文详细解析了Android开发中Activity的生命周期,包括从Activity创建到销毁的各个阶段,以及不同场景下Activity状态的变化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

                                                              Android开发之Activity的生命周期

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

       我画了个草图

      

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




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

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

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

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

       假设刚开始的activity为activity01

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

       

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

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

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

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

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

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

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

                  ,它仍可视,如图:

        

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

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

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

         

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值