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

-------------------------------------------------------------
工程代码: 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生命周期回顾的更多相关文章
- Android开发--Activity生命周期回顾理解
Activity和Servlet一样,都用了回调机制.我们通过类比servlet来学习Activity.当一个servlet开发出来之后,该servlet运行于Web服务器中.服务器何时创建servl ...
- 基础总结篇之一:Activity生命周期
子曰:溫故而知新,可以為師矣.<論語> 学习技术也一样,对于技术文档或者经典的技术书籍来说,指望看一遍就完全掌握,那基本不大可能,所以我们需要经常回过头再仔细研读几遍,以领悟到作者的思想精 ...
- 喜闻乐见-Activity生命周期
Activity的生命周期,对于Android开发者来说,再熟悉不过了.但是我们接触到的资料,绝大部分都只是谈了一些表面上的东西,例如各个回调的顺序等等.本文试图换个角度来讲解,也希望对各位读者有所帮 ...
- 基础总结篇之一:Activity生命周期[转]
from:http://blog.csdn.net/liuhe688/article/details/6733407 基础总结篇之一:Activity生命周期 子曰:溫故而知新,可以為師矣.< ...
- onWindowFocusChanged重要作用 and Activity生命周期
onWindowFocusChanged重要作用 Activity生命周期中,onStart, onResume, onCreate都不是真正visible的时间点,真正的visible时间点是onW ...
- [转]基础总结篇之一:Activity生命周期
子曰:溫故而知新,可以為師矣.<論語> 学习技术也一样,对于技术文档或者经典的技术书籍来说,指望看一遍就完全掌握,那基本不大可能,所以我们需要经常回过头再仔细研读几遍,以领悟到作者的思 ...
- Android——Activity生命周期(转)
Activity生命周期 子曰:溫故而知新,可以為師矣.<論語> 学习技术也一样,对于技术文档或者经典的技术书籍来说,指望看一遍就完全掌握,那基本不大可能,所以我们需要经常回过头再仔细 ...
- Android关于Activity生命周期详解
子曰:溫故而知新,可以為師矣.<論語> 学习技术也一样,对于技术文档或者经典的技术书籍来说,指望看一遍就完全掌握,那基本不大可能,所以我们需要经常回过头再仔细研读几遍,以领悟到作者的思想精 ...
- [转]: 两分钟彻底让你明白Android Activity生命周期(图文)!
转自:http://blog.csdn.net/android_tutor/article/details/5772285 大家好,今天给大家详解一下Android中Activity的生命周期,我在前 ...
随机推荐
- 基于zabbix 内置key的应用
一.内置key说明: Zabbix 内置了很多丰富的key,使得咱们再添加linux os模板的时候,已经帮我们把key给定义好,这样我们就能够直接链接模板就可以使用了. 我们这边的话列举一些内置ke ...
- Eclipse非常有用的快捷键
Eclipse有强大的编辑功能, 工欲善其事,必先利其器, 掌握Eclipse快捷键,可以大大提高工作效率. 小坦克我花了一整天时间, 精选了一些常用的快捷键操作,并且精心录制了动画, 让你一看就会. ...
- array_column php 函数
今天想从二维数组中取某个列成一维数组 结果发现 array_column需要php5.5支持才行 然后自己写了一个仿造版本的array_column 两种思路 1.直接遍历 取值给追加数组 返回 2. ...
- cocos2d-x学习日志(13) --A星寻路算法demo
你是否在做一款游戏的时候想创造一些怪兽或者游戏主角,让它们移动到特定的位置,避开墙壁和障碍物呢?如果是的话,请看这篇教程,我们会展示如何使用A星寻路算法来实现它! A星算法简介: A*搜寻算法俗称A星 ...
- .h头文件 .lib库文件 .dll动态库文件之间的关系
.h头文件是编译时必须的,lib是链接时需要的,dll是运行时需要的. 附加依赖项的是.lib不是.dll,若生成了DLL,则肯定也生成 LIB文件.如果要完成源代码的编译和链接,有头文件和lib就够 ...
- [React] React Fundamentals: Build a JSX Live Compiler
we want to have the ability to write JSX and see the output live in the browser. <!doctype html&g ...
- Quartz Enterprise Job Scheduler 1.x Tutorial---转载
Lesson 10: Configuration, Resource Usage and SchedulerFactory http://www.quartz-scheduler.org/docume ...
- PureMVC(JS版)源码解析(七):Mediator类
之前的博文中,我们分析了SimpleCommand类和MacroCommand类,这两个类用作"业务逻辑(business logic)"处理,今天,我们讲一些和UI界面相关联的M ...
- Gstreamer 数据流线程(GstTask / GstTaskPool)分析
作者:fengcc 原创文章 转载请注明出处 GStreamer 是一个基于流水线的多媒体框架,基于 GObject,以 C 语言写成. 凭借 GStreamer,程序员可以很容易地创建各种多媒体功能 ...
- HDU2054JAVA
(包括2016级新生)除了校赛,还有什么途径可以申请加入ACM校队? A == B ? Time Limit: 1000/1000 MS (Java/Others) Memory Limit: ...