No1:

如果新Activity采用了透明主题,那么当前Activity不会回调onStop;

No2:

新Activity启动之前,栈顶的Activity需要先onPause后,新Activity才能启动。

No3:

onPause和onStop都不能执行耗时的操作。

No4:

Activity在异常情况下终止的话,系统会调用onSaveInstanceState来保存当前Activity的状态,这个方法在onStop之前,和onPause没有既定的时序关系。当Activity重新创建后,系统会调用onRestoreInstanceState,并且把Activity销毁时onSaveInstanceState方法所保存的Bundle对象作为参数同时传递给onRestoreInstanceState和onCreate方法,onRestoreInstanceState发生在onStart之后。

No5:

每个View都有onSaveInstanceState和onRestoreInstanceState这两个方法,不同的具体实现,能够自动为每个View恢复不同的数据。

No6:

onRestoreInstanceState和onCreate有一点不同:onRestoreInstanceState其参数Bundle savedInstanceState一定是有值的,onCreate的参数Bundle savedInstanceState为null

No7:

Activity优先级:

1)前台Activity--正在和用户交互的Activity

2)可见但非前台Activity

3)后台Activity--已经被暂停的Activity

当系统内存不足时,系统就会按照上述优先级去杀死目标Activity所在进程,并在后续通过onSaveInstanceState和onRestoreInstanceState来存储和恢复数据

No8:

如果不想让Activity在屏幕旋转的时候重新创建,就可以给configChanges属性添加orientation这个值。并且没有调用onSaveInstanceState和onRestoreInstanceState来存储和恢复数据,取而代之的是系统调用了Activity的onConfigurationChanged方法。

No9:

No10:

当我们用ApplicationContext去启动standard模式的Activity的时候会报错,错误如下

这是因为非Activity类型的Context(如ApplicationContext)并没有所谓的任务栈。解决方案是指定singleTask启动模式

No11:

singleTop和singleTask,如果要调用的Activity已经存在,将会调用它的onNewIntent方法。

No12:

静态设置无法为Activity设定FLAP_ACTIVITY_CLEAR_TOP标识,动态设置无法为Activity设定singleInstance模式

No13:

如果Intent既有显示调用又有隐式调用,以显示调用为主。

No14:

IntentFilter中的过滤信息有action、category、data。一个Activity中可以有多个intent-filter,一个Intent只要能匹配任何一组intent-filter即可成功启动对应的Activity。

data由两部分组成,mimeType和URI。mineType指媒体类型(图片、文本、视频等)。

URI结构如下:

<scheme>://<host>:<port>/[path]|<pathPrefix>|<pathPattern>
例如:
http://www.baidu.com:80/search/info

No15:

应用场景

显式Intent :通过指定Intent组件名称来实现的,一般用在知道目标组件名称的前提下,一般是相同的应用程序内部实现的。

隐式Intent: 通过Intent Filter来实现的,它一半用在没有明确指出目标组件名称的前提下,一般用于在不同的应用程序之间。

《android开发艺术探索》读书笔记(一)--Activity的生命周期和启动模式的更多相关文章

  1. Android开发艺术探索(一)——Activity的生命周期和启动模式

    Activity的生命周期和启动模式 生命周期有? 1.典型情况下的生命周期—>指有用户参与的情况下,Activity所经过的生命周期改变 2.异常情况下的生命周期—>指Activity被 ...

  2. Android开发艺术探索读书笔记——01 Activity的生命周期

    http://www.cnblogs.com/csonezp/p/5121142.html 新买了一本书,<Android开发艺术探索>.这本书算是一本进阶书籍,适合有一定安卓开发基础,做 ...

  3. android开发艺术探索学习 之 结合Activity的生命周期了解Activity的LaunchMode

    转载请标明出处: http://blog.csdn.net/lxk_1993/article/details/50749728 本文出自:[lxk_1993的博客]: 首先还是先介绍下Activity ...

  4. Android开发艺术探索读书笔记——进程间通信

    1. 多进程使用场景 1) 应用某些模块由于特殊需求须要执行在单独进程中. 如消息推送,使消息推送进程与应用进程能单独存活,消息推送进程不会由于应用程序进程crash而受影响. 2) 为加大一个应用可 ...

  5. android开发艺术探索读书笔记之-------view的事件分发机制

    View的点击事件的分发,其实就是对MotionEvent事件的分发过程,即当一个MotionEvent产生后,系统需要把这个事件传递给一个具体的View,而这个过程就是分发过程. 分发过程主要由以下 ...

  6. 《Android开发艺术探索》读书笔记 (1) 第1章 Activity的生命周期和启动模式

    第1章 Activity的生命周期和启动模式 1.1 Activity生命周期全面分析 1.1.1 典型情况下生命周期分析(1)一般情况下,当当前Activity从不可见重新变为可见状态时,onRes ...

  7. Android开发艺术探索笔记——第一章:Activity的生命周期和启动模式

    Android开发艺术探索笔记--第一章:Activity的生命周期和启动模式 怀着无比崇敬的心情翻开了这本书,路漫漫其修远兮,程序人生,为自己加油! 一.序 作为这本书的第一章,主席还是把Activ ...

  8. Android开发艺术探索学习笔记(一)

    第一章 Activity的生命周期和启动模式 1.1Activity的生命周期全面解析 1.1.1典型情况下的生命周期分析 (1)在两个Activity进行切换时,当前的Activity的onPaus ...

  9. 十分钟掌握Activity的生命周期与启动模式

    1. Activity的生命周期 正常情况下的Activity生命周期如下图所示(来自Android Developer): 当资源相关的系统配置变更时(比如设备屏幕方向改变,键盘可见性变化),会导致 ...

  10. Activity的生命周期和启动模式

    Activity的生命周期分析 典型情况下的生命周期.是指在用户参与的情况下,Activity所经过的生命周期的改变. 异常情况下的生命周期.是指Activity被系统回收或者由于当前设备的Confi ...

随机推荐

  1. git 快速入门

    介绍git的基本知识.文件状态.工作区域以及一个简单的操作示例. 目录 1. git相关介绍 2. 文件状态与工作区域 3. 快速使用 1. git相关介绍 1.1 git.github.gitlab ...

  2. SVN同步时忽略特定文件或文件夹

    在MyEclipse中使用SVN同步的时候,经常会提示一些比如.classpath等不需要同步的配置文件,可以通过设置来忽略这一部分的文件或者文件夹. 1.选择菜单Window→Preferences ...

  3. 【高并发简单解决方案】redis队列缓存 + mysql 批量入库 + php离线整合

    需求背景:有个调用统计日志存储和统计需求,要求存储到mysql中:存储数据高峰能达到日均千万,瓶颈在于直接入库并发太高,可能会把mysql干垮. 问题分析 思考:应用网站架构的衍化过程中,应用最新的框 ...

  4. strstr()与find()

  5. [译] Linux吃掉了我的内存

    英文原文: https://www.linuxatemyram.com/ 作者: Vidar Holen 译者: thinkam 发生了什么? Linux正借用你未使用的内存来做磁盘缓存.这使你的计算 ...

  6. 溢出问题:overflow后最后一排文字显示不全

    溢出字体会显示在padding区域(http://www.divcss5.com/css-hack/c680.shtml) section#xinwen li a h3{ border-bottom: ...

  7. 【原创】源码角度分析Android的消息机制系列(四)——MessageQueue的工作原理

    ι 版权声明:本文为博主原创文章,未经博主允许不得转载. MessageQueue,主要包含2个操作:插入和读取.读取操作会伴随着删除操作,插入和读取对应的方法分别为enqueueMessage和ne ...

  8. SQL性能优化的几点建议

    1. 索引:索引可以提高查询的速度,但不是使用带有索引的字段查询时,索引都会起作用,如下几种特殊情况下,有可能使用带有索引的字段查询时,索引没有起作用:1)使用LIKE关键字的查询语句 如果匹配字符串 ...

  9. JDBC(二)

    三层架构的一些基本报结构如下: domain包:下面是一些实体bean,属性为private,提供属性相对应的set和get方法.一般对应于数据库中的一张数据表,属性对应于数据表中的列. dao包,数 ...

  10. ehcache memcache redis 三大缓存男高音[转]

    原文链接:http://blog.csdn.net/jationxiaozi/article/details/8509732 最近项目组有用到这三个缓存,去各自的官方看了下,觉得还真的各有千秋!今天特 ...