先来一张经典的生命周期图:

-------------------------------------------------------------

工程代码: ActivityLifeCycle.zip

--------------------------------------------------------------

1. 启动Activity 1:

08-24 17:24:51.760: D/CARLOZ-A1(20109): onCreate
08-24 17:24:51.760: D/CARLOZ-A1(20109): onStart
08-24 17:24:51.760: D/CARLOZ-A1(20109): onResume

1.1. 返回键 关闭Activity 1:

08-24 17:25:45.960: D/CARLOZ-A1(20109): onPause
08-24 17:25:46.790: D/CARLOZ-A1(20109): onStop
08-24 17:25:46.790: D/CARLOZ-A1(20109): onDestroy

1.2 HOME键回主屏,再从Recent Task中重新打开Activity1

08-24 17:26:37.610: D/CARLOZ-A1(20109): onPause
08-24 17:26:38.340: D/CARLOZ-A1(20109): onStop 从recent task中重新打开Activity1
08-24 17:26:59.380: D/CARLOZ-A1(20109): onRestart
08-24 17:26:59.380: D/CARLOZ-A1(20109): onStart
08-24 17:26:59.380: D/CARLOZ-A1(20109): onResume

1.3 HOME键回主屏,从Recent Task中杀死Activity1, 在从Launcher打开Activity1

08-24 17:28:06.670: D/CARLOZ-A1(20109): onPause
08-24 17:28:07.450: D/CARLOZ-A1(20109): onStop 08-24 17:28:15.860: D/CARLOZ-A1(22178): onCreate
08-24 17:28:15.860: D/CARLOZ-A1(22178): onStart
08-24 17:28:15.860: D/CARLOZ-A1(22178): onResume

2. 两个Activity切换

2.1 Activity1 打开Activity 2,再用返回键返回Activity1

08-24 17:32:33.150: D/CARLOZ-A1(24696): onPause
08-24 17:32:33.200: D/CARLOZ-A2(24696): onCreate
08-24 17:32:33.210: D/CARLOZ-A2(24696): onStart
08-24 17:32:33.210: D/CARLOZ-A2(24696): onResume
此时Activity2 完全覆盖Activity 1
08-24 17:32:33.750: D/CARLOZ-A1(24696): onStop 从Activity 2 返回Activity 1
08-24 17:34:06.330: D/CARLOZ-A2(24696): onPause
08-24 17:34:06.360: D/CARLOZ-A1(24696): onRestart
08-24 17:34:06.370: D/CARLOZ-A1(24696): onStart
08-24 17:34:06.370: D/CARLOZ-A1(24696): onResume
08-24 17:34:06.790: D/CARLOZ-A2(24696): onStop
08-24 17:34:06.790: D/CARLOZ-A2(24696): onDestroy

2.2 将Activity2 换成 Dialog(不能完全覆盖Activity1)

08-24 17:37:39.680: D/CARLOZ-A1(26589): onPause
08-24 17:37:39.740: D/CARLOZ-A2(26589): onCreate
08-24 17:37:39.740: D/CARLOZ-A2(26589): onStart
08-24 17:37:39.740: D/CARLOZ-A2(26589): onResume
可以看到,Activity1 不再执行onStop 从Activity2返回Activity1
08-24 17:38:15.180: D/CARLOZ-A2(26589): onPause
08-24 17:38:15.220: D/CARLOZ-A1(26589): onResume 可以看到Activity1 也不再执行onStart方法
08-24 17:38:15.290: D/CARLOZ-A2(26589): onStop
08-24 17:38:15.290: D/CARLOZ-A2(26589): onDestroy

2.2.1 Activity2是dialog, 点击Recent Task

08-24 17:40:42.000: D/CARLOZ-A2(26589): onPause
08-24 17:40:42.010: D/CARLOZ-A1(26589): onStop
08-24 17:40:42.080: D/CARLOZ-A2(26589): onStop 从Recent Task状态返回
08-24 17:41:24.430: D/CARLOZ-A1(26589): onRestart
08-24 17:41:24.440: D/CARLOZ-A1(26589): onStart
08-24 17:41:24.440: D/CARLOZ-A2(26589): onRestart
08-24 17:41:24.440: D/CARLOZ-A2(26589): onStart
08-24 17:41:24.440: D/CARLOZ-A2(26589): onResume

3. 单个Activity转屏

08-24 17:43:56.050: D/CARLOZ-A1(26589): onPause
08-24 17:43:56.050: D/CARLOZ-A1(26589): onStop
08-24 17:43:56.050: D/CARLOZ-A1(26589): onDestroy 08-24 17:43:56.210: D/CARLOZ-A1(26589): onCreate
08-24 17:43:56.210: D/CARLOZ-A1(26589): onStart
08-24 17:43:56.210: D/CARLOZ-A1(26589): onResume

4. Activity2是Dialog的状态下转屏

08-24 17:43:11.470: D/CARLOZ-A2(26589): onPause
08-24 17:43:11.470: D/CARLOZ-A2(26589): onStop
08-24 17:43:11.470: D/CARLOZ-A2(26589): onDestroy
08-24 17:43:11.630: D/CARLOZ-A2(26589): onCreate
08-24 17:43:11.630: D/CARLOZ-A2(26589): onStart
08-24 17:43:11.630: D/CARLOZ-A2(26589): onResume 08-24 17:43:11.650: D/CARLOZ-A1(26589): onStop
08-24 17:43:11.650: D/CARLOZ-A1(26589): onDestroy
08-24 17:43:11.780: D/CARLOZ-A1(26589): onCreate
08-24 17:43:11.790: D/CARLOZ-A1(26589): onStart
08-24 17:43:11.800: D/CARLOZ-A1(26589): onResume
08-24 17:43:11.820: D/CARLOZ-A1(26589): onPause

注意: 有Dialog主题的Activity2会导致 Activity1执行 onPause,但是纯粹的Dialog却不能触发Activity1执行onPause

-------------------------------------------------------------

工程代码: ActivityLifeCycle.zip

--------------------------------------------------------------

Activity生命周期回顾的更多相关文章

  1. Android开发--Activity生命周期回顾理解

    Activity和Servlet一样,都用了回调机制.我们通过类比servlet来学习Activity.当一个servlet开发出来之后,该servlet运行于Web服务器中.服务器何时创建servl ...

  2. 基础总结篇之一:Activity生命周期

    子曰:溫故而知新,可以為師矣.<論語> 学习技术也一样,对于技术文档或者经典的技术书籍来说,指望看一遍就完全掌握,那基本不大可能,所以我们需要经常回过头再仔细研读几遍,以领悟到作者的思想精 ...

  3. 喜闻乐见-Activity生命周期

    Activity的生命周期,对于Android开发者来说,再熟悉不过了.但是我们接触到的资料,绝大部分都只是谈了一些表面上的东西,例如各个回调的顺序等等.本文试图换个角度来讲解,也希望对各位读者有所帮 ...

  4. 基础总结篇之一:Activity生命周期[转]

    from:http://blog.csdn.net/liuhe688/article/details/6733407   基础总结篇之一:Activity生命周期 子曰:溫故而知新,可以為師矣.< ...

  5. onWindowFocusChanged重要作用 and Activity生命周期

    onWindowFocusChanged重要作用 Activity生命周期中,onStart, onResume, onCreate都不是真正visible的时间点,真正的visible时间点是onW ...

  6. [转]基础总结篇之一:Activity生命周期

      子曰:溫故而知新,可以為師矣.<論語> 学习技术也一样,对于技术文档或者经典的技术书籍来说,指望看一遍就完全掌握,那基本不大可能,所以我们需要经常回过头再仔细研读几遍,以领悟到作者的思 ...

  7. Android——Activity生命周期(转)

    Activity生命周期   子曰:溫故而知新,可以為師矣.<論語> 学习技术也一样,对于技术文档或者经典的技术书籍来说,指望看一遍就完全掌握,那基本不大可能,所以我们需要经常回过头再仔细 ...

  8. Android关于Activity生命周期详解

    子曰:溫故而知新,可以為師矣.<論語> 学习技术也一样,对于技术文档或者经典的技术书籍来说,指望看一遍就完全掌握,那基本不大可能,所以我们需要经常回过头再仔细研读几遍,以领悟到作者的思想精 ...

  9. [转]: 两分钟彻底让你明白Android Activity生命周期(图文)!

    转自:http://blog.csdn.net/android_tutor/article/details/5772285 大家好,今天给大家详解一下Android中Activity的生命周期,我在前 ...

随机推荐

  1. HttpURLConnection的流式输出的缺陷和解决方法

    转自:http://www.mzone.cc/article/198.html 最近在用applet写文件上传控件的时候发现使用URLConnection来对服务器进行流式输出时的一些问题.我们通常要 ...

  2. Yii 安装二维码扩展Qrcode

    比如要添加 https://github.com/2amigos/yii2-qrcode-helper 生成二维码的 这个扩展第一种方法 :    1.打开根目录的composer.json, 在re ...

  3. github pages简易指南

    在我之前的博客用Octopress在Github pages上写博客(博客园上,github pages上)中介绍了怎么在Github Pages上写博客,今天发现了一个很不错的github page ...

  4. C#面向对象基础:virtual方法,abstract方法,区别

    virtual 关键字用于修饰方法.属性.索引器或事件声明,并使它们可以在派生类中被重写.默认情况下,类中的方法是非虚的,非虚的方法不能在子类中被覆盖(override),但是可以隐藏(new),但这 ...

  5. 使用 CAS 在 Tomcat 中实现单点登录

    单点登录(Single Sign On , 简称 SSO )是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统.CAS ...

  6. 笔记本开了WIFI之后只能上QQ,上不了网页的解决方法

    前几天拉了宽带之后,开了WIFI,发现WIFI能上网,但是电脑就上不了网页. 把本地连接的DNS指定一下,(电信)指定为202.102.192.68

  7. poj 3294 Life Forms

    后缀数组的题目,把后缀连接起来,这个还是先二分答案,然后选取一段连续的height值,判断这些height代表的后缀有没有覆盖一半以上的字符串. 得出答案的长度之后还要在枚举连续的heigh,判断有没 ...

  8. [Javascript + rxjs] Simple drag and drop with Observables

    Armed with the map and concatAll functions, we can create fairly complex interactions in a simple wa ...

  9. SonarQube代码质量管理平台安装与使用--转载

    原文:http://blog.csdn.net/hunterno4/article/details/11687269 Sonar简介 Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量, ...

  10. (转载)Eclipse下配置Github环境 .

    总的参考文档:EGit User Guide http://wiki.eclipse.org/EGit/User_Guide Address: http://www.linuxidc.com/Linu ...