转自:http://www.cnblogs.com/kofi1122/archive/2011/04/10/2011772.html

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

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

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

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

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

不难看出,其实这些方法都是两两对应的,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,就说这么多……

Activity生命周期记忆方法相关推荐

  1. Activity生命周期记忆方法(转)

    关于activity生命周期很简单,但总是不能记得很清楚,发现一篇博文记忆方式不错. 转自:http://www.cnblogs.com/kofi1122/archive/2011/04/10/201 ...

  2. Activity生命周期回调方法

    文章目录 Activity生命周期 一.Activity生命周期回调方法 1.onCreate() 2.onStart()回调方法 3.onResume()回调方法 4.onPause()回调方法 5 ...

  3. 安卓学习笔记06:Activity生命周期与启动模式

    文章目录 零.学习目标 一.Activity生命周期 1.了解Activity生命周期 2.Activity生命周期简化图 (1)Activity存在与否 (2)Activity可见与否 (3)Act ...

  4. Android全面解析之Activity生命周期

    前言 很高兴遇见你~ 欢迎阅读我的文章. 关于Activity生命周期的文章,网络上真的很多,有很多的博客也都讲得相当不错,可见Activity的重要性是非常高的.事实上,我猜测每个android开发 ...

  5. Activity与调用线(三):Activity生命周期源码解析

    前言 很高兴遇见你~ 欢迎阅读我的文章. 关于Activity生命周期的文章,网络上真的很多,有很多的博客也都讲得相当不错,可见Activity的重要性是非常高的.事实上,我猜测每个android开发 ...

  6. View的生命周期方法和Activity生命周期方法关系

    View 是在Activity 中使用到的,所以在自定义View的时候,我们需要了解Activity 生命周期方法和View的生命周期方法调用先后顺序.  见如下图 (1) 在Activity onC ...

  7. android的应用入口点函数,android 没有main函数,怎么找到程序执行入口呢?以及activity主要生命周期的方法说明...

    android应用程序,由一到多个Activity组成.每个Activity没有很紧密的联系,因为我们可以在自己的程序中调用其它Activity,特别是调用自己的代码之外生成的Activity,比如a ...

  8. 1.简述一个Activity跳转到另一个Activity时,两个Activity生命周期方法的执行过程。2.编写一个程序,要求在第一个界面中输入两个数字,在第二个界面显示第一个界面两个数字的和。

    1.简述一个Activity跳转到另一个Activity时,两个Activity生命周期方法的执行过程. 首先,我创建了一个MainActivity和SecondActivity两个Activity. ...

  9. Activity生命周期(五大状态七大方法)

    Activity生命周期是指一个Activity从创建到销毁的全过程.下图是Activity的生命周期模型. 一.生命周期五种状态 (1)启动状态:Activity的启动状态很短暂,当Activity ...

  10. android activity生命周期(一)onCreate和onDestroy方法

    首先我们来说一下什么是生命周期 平时我们在开发软件的时候软件就有生命周期,同样 很多的事物都有自己的生命周期 一般来说 生命是不由自己的主观意识控制的. 举个例子 :人的生命周期:从出生-->到 ...

最新文章

  1. HDU2853(最大权完美匹配)
  2. 四本关于意识问题的英文新书
  3. linux下使用C++操作mysql
  4. MVC与三层架构的联系及三层架构实现学生注册功能
  5. Redis+Twemproxy安装与使用
  6. java mail 1.4.2.jar_javamail
  7. quartus仿真系列1:74163的计数功能
  8. 杭州电子科技大学计算机研究生很好考吗,杭州电子科技大学考研难吗?一般要什么水平才可以进入?...
  9. Golang优秀开源项目汇总, 10大流行Go语言开源项目, golang 开源项目全集(golang/go/wiki/Projects), GitHub上优秀的Go开源项目...
  10. 《程序员》走近创新工场 解密李开复如何寻找创业之星
  11. 锤子手机关闭位置服务器,技巧:锤子手机的4个隐藏小技巧 处处有情怀
  12. U盘拷贝大文件提示文件过大无法拷贝解决方案
  13. 专升本英语——语法知识——高频语法——第四节 定语从句(限制性定语从句-非限制性定语从句)【学习笔记】
  14. python 使用微信远程控制电脑
  15. 试看5分钟视频python_不会Python吗?几分钟看完资深程序员给你的Python入门指南...
  16. 宏观经济学gdp计算方法_宏观经济学gdp计算方法
  17. Visual Studio Enterprise 2015简体中文版(企业版)
  18. 计算机AZ,az connectedmachine
  19. VMware虚拟机之安装VMware虚拟机平台
  20. 矩阵乘法为什么快怎么更快

热门文章

  1. 基于中国新能源汽车税收政策下成都市场发展路线研究
  2. 网站SEO优化中tilte与h1的区别、b与strong的区别、i与em的区别
  3. 当出现Served at:.........时的错误
  4. redis读中文 | fastjson 的 map、string、json 三者互转
  5. 用md5值识别相似图片 python
  6. 计算机老是不断重启是什么原因,电脑一直自动重启是什么原因?(盘点电脑老是自动重启的原因!)...
  7. 微众银行风险模型笔试前做的准备(公司介绍+欺诈与反欺诈+sql+机器学习)
  8. 2019年高中数学圆锥曲线解题技巧方法总结及高考试题
  9. 数据清洗之微博内容清洗
  10. 树莓派+aria2+yaaw搭建下载机