学习总结:Activity生命周期

来源:互联网 发布:天津外国语大学 知乎 编辑:程序博客网 时间:2024/05/01 09:15

刚开始学习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的可见程度。由于没有图就不盗图了。。



0 0
原创粉丝点击