学习总结:Activity生命周期

刚开始学习Android时看了一些入门的书籍,大多的书籍前面的章节都会介绍Activity的生命周期,刚开始学时感觉好像没什么用,因为好像只重写onCreate方法就好啊。其实还是to young了,因为不懂生命周期的话就不知道什么时候会执行哪些方法,所以认真学习一遍还是很重要的。


首先需要了解一下各个方法有什么用处:

(1)onCreate:这是生命周期的第一个方法,我们一般是在这个方法中做一些初始化的工作,就是准备界面显示之前的一些信息。一般包括初始化控件和设置事件监听。

          注意的是:这个方法中不宜做一些耗时的操作,不然在界面显示出来之前等待的时间太多。

(2)onStart:这个方法是在Activity第一次启动的到时候紧接着onCeate方法被执行的。

         这里需要注意的是:这时候Activity已经可见,但是没有出现在前台。即Activity已经显示了,但是我们还看不到。

(3)onResume:这时候Activity已经在前台了,可以开始交互了。可以理解为Activity已经在手机屏幕上运行了。

(4)onPause:这个方法一般在打开新的Activity或者切换到桌面的时候被执行,这个方法执行完一般会紧接着执行onStop方法。

          onPause方法一般是做一些存储数据、停止动画等工作,注意的是:这个方法中同样不能执行太多耗时的操作。

(假如从一个Activity跳转到另一个Activity,那么第一个Activity的onPause方法会比第二个Activity的onResume方法先执行。)

(5)onRestart:这个好理解,跟就是重新启动嘛。

(6)onStop:停止。主要做一些回收操作。

(7)onDestroy:销毁。


看完上面枯燥的原理,可能你会说~

onStart和onResume,onPause和onStop不是差不多一样的吗,谷歌干嘛搞得这么麻烦。

其实呢,我也这么觉得。。。。

啪啪,不是的,其实onStart和OnStop是从“是否可见”的角度而言的,而onResume和onPause是从“是否位于前台”来说的。所以要根据需求来选择。


为了有助于更好的理解,我们需要看看官方的图解:


图片来源:http://blog.csdn.net/liuhe688/article/details/6733407

不过个人感觉这张官方的图片还不太好记忆,个人觉得《Android群英传》中徐宜生大神给的图更好理解,自上而下表示Activity的可见程度。由于没有图就不盗图了。。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值