Activity生命周期之我见

转载 2013年12月03日 14:59:31

关于Activity生命周期的文章很多,而且大部分也说得很详细,所以作为关于这方面的内容我本来不想多说,但是大家可能跟我之前一样,在看这方面的内容的时候都能很容易地看懂,但是过几天又忘了,或者在用的程序中跳转较多的情况下容易混淆。

这是因为没有真正的理解,或者是没有很好的方法来记忆,所以在这里我就说一下我对Activity生命周期的一些记忆的方式,希望对大家能够有所帮助。

Activity生命周期的基本内容我就不多说了,网上一搜一大把,官方文档也说得很详细。总之,我们知道Activity从创建到销毁有多种状态,从一种状态到另一种状态时会激发相应的回调方法,这些回调方法包括:

onCreate 、onStart 、onResume 、onPause 、onStop 、onDestroy 、onRestart

下面这张图就是我的记忆的方式:

Activity生命周期记忆

不难看出,其实这些方法都是两两对应的,onCreate创建与onDestroy销毁;onStart可见与onStop不可见;onResume可编辑(即焦点)与onPause;这6个方法是相对应的,那么就只剩下一个onRestart方法了,这个方法在什么时候调用呢?答案就是:在Activity被onStop后,但是没有被onDestroy,在再次启动此Activity时就调用onRestart(而不再调用onCreate)方法;如果被onDestroy了,则是调用onCreate方法。

这样大家就应该能够很容易的记住这些方法了。下面再通过一个比喻来看两个Activity的切换过程。

我们把Activity比作一本书,我们要看书,首先从书架上取出书(onCreate),然后放到桌上(onStart),接着打开书(onResume),这样我们就可以看书并可以在书本上写字了。

如果这时候我们要启动另一个Activity,也就是要看另一本书,首先我们放下手中的笔或者说合上书(onPause),然后从书架上拿下另一本书(书2:onCreate),然后把书本2放到桌上并打开(书2:onStart、onResume)。

如果书本1被书本2完全盖住了,即不可见了,就调用书本1的onStop;而如果书本2较小,没有完全盖住书本1,则不会调用。

我们还可以把书本1放回书架上,即onDestroy。

另外,还有一点要注意,Activity在处于onPause、onStop、onDestroy状态下,系统都可以销毁该Activity所在进程,所以我们在处理一些要保存的数据时,必须在onPause方法中进行,因为onStop和onDestroy方法不一定会被调用。

OK,就说这么多……

信息安全之我见

信息安全之我见 我曾在2007~2008年间在信息安全行业工作,今时又有机会接触到这个行业。所以有新的思考也有新的想法。 信息安全行业技术理论指导较少,多是一些hack的技术“点”。而这些点彼此缺...
  • zjjoy360
  • zjjoy360
  • 2015年12月07日 20:15
  • 509

人工智能之我见

作者:Albert Xiao 邮箱:xiaoxiaoyushan@126.com 备注:请尊重原创(手机端Markdown编辑,请理解 )   本来学数学、物理好好...
  • BladeTangXiao
  • BladeTangXiao
  • 2017年05月17日 10:14
  • 192

项目管理之我见

项目管理是一整体的系列活动:实施前、实施中、实施后,环环相扣。     实施前:     项目经理要与销售人员进行详尽的沟通,要充分了解客户的需求,特别是一些迫切的需求,大致确认好项目实施的重点内容;...
  • Gavid0124
  • Gavid0124
  • 2014年07月03日 11:39
  • 860

操作系统之我见-进程

进程:一个具有一定独立功能的程序关于某个数据集合的一次运行活动 进程与程序的区别:(1)进程是程序的执行,动态概念,程序是一组指令的有序集合,静态概念 (2)进程是有生命的,程序是永久的 (3)...
  • erlei2014
  • erlei2014
  • 2015年10月20日 14:22
  • 198

操作系统之我见-导论

操作系统的主要作用:(1)管理系统资源(cpu,主存储器,输入输出设备和数据文件)                                   (2)方便用户使用计算机等 通道技术:专门用...
  • erlei2014
  • erlei2014
  • 2015年10月16日 16:29
  • 205

IT技术之我见

信息技术发展这么多年了,如何更好地发展?现在正处在关键阶段,对于信息产业是这样,对于我们个人也是这样...
  • zjjoy360
  • zjjoy360
  • 2015年02月28日 15:40
  • 182

高速公路ETC卡签之我见1-概述

简单介绍高速公路ETC卡签涉及的基本概念,如密钥、IC卡等;接着介绍ETC系统中的关键设备,用户卡、电子标签等;最后说明卡签的主要使用场景。...
  • Heidlyn
  • Heidlyn
  • 2016年12月13日 16:54
  • 1595

“API”之我见

最近,我读了CSDN上面的一篇文章《API:互联网是如何在幕后工作的?》(http://www.csdn.net/article/2015-01-26/2823692)。作者认为,没有API,应用之间...
  • zhouzxi
  • zhouzxi
  • 2015年03月30日 15:09
  • 1137

个人成长之我见

情绪有好的一面,也有不好的一面,情感也可以被视作是情绪的一部分。既然是情绪,那么就会有好的情绪和坏的情绪。无论对于个人还是对于组织。好的情绪,都将会带来积极的效应。坏的情绪则不然。在《暗时间》(作者:...
  • lihxa2002
  • lihxa2002
  • 2016年11月07日 09:17
  • 144

架构师之我见

本文讨论的是软件行业的架构师,包括软件架构师、网站架构师、大数据架构师等各个IT领域的架构师。架构师的定义关于架构师的定义,争论一直就没有停止过,大多数人认为架构师主要就是技术方面的专家。架构师的职责...
  • guwei4037
  • guwei4037
  • 2016年02月28日 22:03
  • 2163
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Activity生命周期之我见
举报原因:
原因补充:

(最多只允许输入30个字)