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. python_9_集合

    什么是集合? --一种无序,没有重复元素的一种数据类型            -- 形式:   {元素1,元素2,......} 如何把一个列表变成一个集合? --set(列表)            ...

  2. Go基础--goroutine和channel

    goroutine 在go语言中,每一个并发的执行单元叫做一个goroutine 这里说到并发,所以先解释一下并发和并行的概念: 并发:逻辑上具备同时处理多个任务的能力 并行:物理上在同一时刻执行多个 ...

  3. JavaScript之正则表达式(1)

    一,在线工具: regexper.com 二 ,正则示例: (1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)(1)( ...

  4. zabbix监控-部署(一)

    zabbix之自动化监控-部署篇(一) 标签(空格分隔): linux 笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 浅谈监控 监控命令 查看硬件的温度/风扇转 ...

  5. CSS继承、层叠和特殊性

    1.继承 (1)样式应用于某个特定的HTML标签元素,而且应用于其后代. (2)但某些标签不适用,如border: (3)例子:p{color:red;}设置了颜色 <p class=" ...

  6. Mysql Innodb 锁机制

    latch与lock latch 可以认为是应用程序中的锁,可以称为闩锁(轻量级的锁) 因为其要求锁定的时间必须要非常短,若持续时间长,则会导致应用性能非常差,在InnoDB存储引擎中,latch又可 ...

  7. C++的string类

    关于头文件cstring,提供了strlen及很多与字符串相关的函数的声明. 头文件string,要使用string类,必须在程序中包含头文件string,string类位于std中,必须提供一条us ...

  8. 不免费的PacMan

    课程内容介绍: 本套课程适合以下人士: - 免费资料没教会你游戏开发的: - 学了Unity基础不知道怎么用在游戏项目里的: - 想快速开发一款好玩的游戏的: - 想学游戏不知道如何入门的: - 对游 ...

  9. wpf datagrid row height 行高自动计算使每行行高自适应文本

    wpf 的datagrid的行高 要么是Auto,要么是定值:但会带来麻烦就是每行行高都一样. 当需要按内容(主要是wrap 换行的textbox或textblock)来动态调整行高的时候,需要用到d ...

  10. 利用 secureCRT 直接上传下载文件 (sz,rz)

    在window下向linux传送文件的方法. 首先在window中安装SecureCRT,然后在快速连接中建立一个到linux的连接,当然,你要先知道你的系统的ip,在终端中键入ifconfig可以查 ...