Android应用中Activity的生命周期

        作为Android应用中四大组件之一的Activity,有必要了解一下它的整个生命周期。

         Android应用程序可以是多线程的,在手机硬件条件支持的情况下,Android操作系统允许同时运行多个程序。应用程序可以拥有后台进程,并且可以被来电等事件中断。然而,在同一时间内只能有一个活动的应用程序对用户可见。Activity作为应用的某一部分,呈现给用户一个界面而存在的,在任何时候,都只能有一个应用程序的Activity处于前台。下面我们来看一下官方给我们的Activity整个生命周期的示意图。

        这就是它的整个生命周期,按顺序依次是onCreate(),onStart(),onResume(),onPause(),onStop(),onDestroy()。onRestart()是在该Activity处于onStop()的状态下,重新回到该Activity时被调用。官方的文档对每一个方法都有解释,下面就来逐一的介绍一下。

        onCreate()方法,当此Activity第一次运行时被调用,它也是创建Activity之后系统默认有的一个方法,多用于初始化布局或数据绑定之类的设置

        onStart()方法,当此Activity对用户可见的时候被调用

        onResume()方法,当此Activity获得焦点时(开始与用户交互时)被调用

        onPause()方法,当此Activity失去焦点时(开始激活其他的应用程序或者Activity时)被调用。一般在在此方法要给持久型数据提交一些未保存的变化,或者动画的停止以及释放其他消耗CPU的东西。因为其他的Activity必须等此Activity的这个方法返回时才能显示,所以 这些执行动作必须快。(官方解释,翻译有可能不妥)。此方法中释放的资源越多,被转入后台后此Activity被终止的可能性就越小。

       onStop()方法,当此Acitivity不再对用户可见时被调用

       onDestroy()方法,当此Activity被销毁时被调用。主要发生在该Activity被finish掉(其他的Activity对此Activity调用了finishing()方法)或者系统为了节省空间而杀掉了此Activity。

        onRestart()方法,当此Activity处于onStop()的状态下(也就是对用户不可见,在后台还存在),再次使此Activity对用户可见,则会被调用

       以上就是对Activity整个生命周期的方法的描述,相信理解了每一个方法被调动的时机,然后结合上图,会对整个Activity的生命周期有一个认识。现在,如果你可以稍微写一个小的程序来感受一下Activity的生命周期。

       我就不详细提供代码了,很简单。创建一个android应用工程,然后创建两个Activity(其中一个是应用启动时默认的),然后在系统默认启动的那个Activity的布局文件里添加一个按钮,然后通过此按钮通过Intent跳转到另一个Activity。分别在这两个Activity中重写生命周期的各个方法,只需要在每个方法中打印出相应的log即可。然后通过点击跳转按钮和手机的返回键以及home键,来查看logcat里所打印的内容。这样的话,对于Activity的生命周期的理解基本上算是了解了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值