`

Android的设计与实现:卷I

阅读更多

 《Android的设计与实现:卷I》

基本信息
作者: 杨云君
出版社:机械工业出版社
ISBN:9787111417132
上架时间:2013-4-26
出版日期:2013 年4月
开本:16开
页码:1
版次:1-1
所属分类:计算机 > 软件与程序设计 > 移动开发 > Android
更多关于 》》》《Android的设计与实现:卷I
内容简介
计算机书籍
  《android的设计与实现:卷i》是android应用开发工程师和android系统工程师进阶修炼的必读之作。它由资深android内核专家亲自执笔,从源代码角度,系统、深入、透彻剖析android系统框架层(framework)的设计思想和实现原理,为android应用工程师和系统工程师解决实际工作中的各种难题提供了原理性的指导。为了降低读者的阅读成本,《android的设计与实现:卷i》使用了大量简单的uml类图和序列图来展示类的层次结构和方法的调用流程,使读者能迅速读完《android的设计与实现:卷i》并领会其精髓!
   “android的设计与实现”系列丛书主要围绕android系统的四层结构展开,通过源代码来分析各层的设计思想与实现原理,卷i则主要是针对framework(框架层)的。全书共12章,分为六个部分:基础篇(第1~2章)详细讲解了android的体系结构、源代码阅读和调试环境的搭建,以及整个框架的基础;启动篇(第3~4章)深入分析了android启动过程的机制和实现原理,能帮助读者全面理解框架层系统服务的运行基础;binder篇(第5~6章)着重分析了binder在native框架层和java框架层的机制和实现,能让读者深入理解进程间的通信模型;消息通信篇(第7章)重点分析了android的消息驱动和异步处理机制,能让读者深入理解线程间的通信模型;package manager篇(第8~9章)主要讲解了package manager的机制与实现,以及apk的安装方法与过程;activity manager篇(第10~12章)深入阐述了activitymanagerservice的运行机制、应用程序和进程的启动流程,以及进程管理机制。
   《android的设计与实现:卷i》适合中高级的android应用开发工程师、android系统开发工程师、android系统架构师,以及负责对android系统进行调试和优化的工程师们阅读。
目录
《android的设计与实现:卷i》
前言
第一部分 基础篇
第1章 android体系结构及源代码阅读环境搭建 / 2
1.1 android发展过程 / 2
1.2 android体系结构 / 3
1.2.1 静态视角的体系结构 / 3
1.2.2 动态视角的体系结构 / 7
1.3 android源码下载和编译 / 7
1.3.1 搭建开发环境 / 8
1.3.2 下载android上层系统源代码 / 9
1.3.3 下载指定模块源码 / 10
1.3.4 下载 android linux kernel源码 / 11
1.3.5 编译android上层系统源码 / 11
1.3.6 编译指定模块源码 / 12
1.4 android源码结构 / 14
1.5 android源码开发工具的配置和使用 / 15
1.5.1 配置android sdk / 15
1.5.2 用eclipse开发和调试源代码 / 16
1.5.3 用source insight阅读源代码 / 19
.1.6 ndk开发环境配置 / 20
1.7 本章小结 / 21
第2章 框架基础jni / 22
2.1 jni在android系统中所处的位置 / 22
2.2 jni框架层实例分析 / 23
2.2.1 log系统java层分析 / 24
2.2.2 log系统的jni层 / 24
2.2.3 log系统的jni方法注册 / 25
2.3 jni总管:jnienv / 27
2.4 在java中调用jni实现方法 / 29
2.4.1 java数据类型与jni数据类型转换 / 29
2.4.2 jni方法命名规则 / 30
2.4.3 jni方法签名规则 / 31
2.5 jni操作java对象 / 32
2.5.1 访问java对象 / 32
2.5.2 操作成员变量(域)和方法 / 33
2.5.3 全局引用、弱全局引用和局部引用 / 34
2.6 jni异常处理 / 36
2.7 jni应用层实例分析 / 38
2.7.1 java层分析 / 38
2.7.2 jni层代码和异常处理 / 39
2.8 本章小结 / 42
第二部分 启动篇
第3章 android启动过程的底层实现 / 44
3.1 android正常模式启动流程 / 44
3.2 kernel启动过程 / 44
3.2.1 内核引导阶段 / 45
3.2.2 内核启动阶段 / 46
3.3 init进程的执行过程 / 49
3.4 init.rc文件解析过程 / 53
3.4.1 android初始化语言 / 53
3.4.2 init.rc的内容 / 56
3.4.3 解析配置文件 / 57
3.4.4 解析service / 60
3.4.5 解析action / 63
3.5 触发并启动action和service / 65
3.5.1 触发action / 65
3.5.2 执行action / 66
3.5.3 启动service / 70
3.5.4 init对属性服务的处理 / 71
3.6 init循环监听处理事件 / 75
3.7 本章小结 / 77
第4章 android 启动过程的上层实现 / 78
4.1 第一个dalvik虚拟机zygote / 79
4.1.1 zygote的配置 / 79
4.1.2 如何执行zygote服务程序 / 80
4.2 zygoteinit的启动过程 / 82
4.2.1 创建dalvik虚拟机 / 83
4.2.2 注册jni方法 / 85
4.2.3 开启java世界 / 88
4.3 zygoteinit开启java世界的五部分工作 / 89
4.3.1 注册zygote的socket / 89
4.3.2 预加载class资源和resource资源 / 89
4.3.3 启动system_server进程 / 92
4.3.4 执行methodandargscaller的run方法 / 98
4.3.5 执行runselectloopmode方法 / 102
4.4 zygote处理home启动请求 / 104
4.5 本章小结 / 112
第三部分 binder篇
第5章  binder在native框架层的实现 / 114
5.1 binder与c/s体系结构概述 / 114
5.2 servicemanager进程的启动过程 / 115
5.2.1 初始化binder通信环境 / 116
5.2.2 注册上下文管理者 / 118
5.2.3 等待接收并处理ipc通信请求 / 120
5.3 server的启动和service的注册过程 / 128
5.3.1 创建processstate对象 / 129
5.3.2 获取servicemanager的代理对象 / 131
5.3.3 注册service / 139
5.3.4 server进程开启线程池 / 145
5.4 client端使用服务代理对象 / 146
5.5 服务代理与服务通信 / 149
5.6 本章小结 / 152
第6章 binder在java框架层的实现 / 153
6.1 java系统服务的创建过程 / 153
6.1.1 创建javabbinderholder对象 / 155
6.1.2 javabbinder的作用 / 156
6.1.3 gbinderoffsets结构体解析 / 156
6.2 java系统服务的注册过程 / 159
6.2.1 调用binderinternal.getcontextobject方法 / 160
6.2.2 调用servicemanagernative.asinterface方法 / 165
6.2.3 调用servicemanagerproxy.addservice方法注册服务 / 167
6.3 client端获取服务代理 / 169
6.3.1 获取服务的binderproxy / 170
6.3.2 构造服务的proxy对象 / 172
6.3.3构造服务管理者对象 / 173
6.4client端调用java系统服务的方法 / 174
6.5统一的通信接口aidl / 177
6.5.1aidl实例 / 177
6.5.2aidl语法 / 180
6.5.3处理自定义数据类型的传递 / 181
6.6本章小结 / 182
第四部分 消息通信篇
第7章线程消息通信与异步处理 / 184
7.1什么是looper线程 / 184
7.2第一步:looper线程准备阶段 / 185
7.2.1创建java层的looper对象 / 186
7.2.2创建java层的messagequeue-对象 / 186
7.2.3创建native层的nativemessage queue和looper对象 / 187
7.2.4nativemessagequeue关联到messagequeue / 189
7.3第二步:创建消息处理器并发送消息 / 190
7.3.1handler的创建和初始化 / 190
7.3.2message的创建和初始化 / 113
7.3.3消息的发送过程 / 192
7.4第三步:looper线程循环阶段 / 198
7.4.1记录并获取当前线程身份信息 / 198
7.4.2循环监听消息 / 199
7.4.3分发消息到处理器 / 205
7.4.4回收消息并更新消息池 / 209
7.5异步任务类asynctask / 210
7.5.1asynctask的实现 / 211
7.5.2asynctask的执行 / 214
7.6本章小结 / 223
第五部分 package manager篇
第8章package manager 的机制与实现 / 226
8.1  package manager体系结构 / 227
8.1.1三层体系结构 / 227
8.1.2三层之间的关系 / 228
8.2packagemanagerservice的启动过程 / 231
8.2.1创建并初始化settings对象 / 232
8.2.2获取系统默认配置 / 236
8.2.3启动packagehandler / 237
8.2.4创建data目录并初始化usermanager / 239
8.2.5解析系统permission和feature信息 / 242
8.2.6解析packages文件 / 245
8.2.7dexopt优化判定 / 247
8.2.8启动fileobserver监控apk文件的目录 / 250
8.2.9调用scandirli方法扫描并安装apk包 / 252
8.2.10更新packages文件 / 253
8.3 packagemanagerservice启动过程使用的核心组件 / 254
8.3.1java层的installer / 255
8.3.2installd中的命令 / 257
8.4本章小结 / 260
第9章 apk的安装过程 / 261
9.1 通过scandirli方法安装apk / 261
9.1.1 创建packageparser / 262
9.1.2 解析androidmanifest.xml文件 / 263
9.1.3 过滤packageparser.package类型的pkg对象 / 270
9.1.4 解析和安装pkg / 274
9.2 使用adb命令安装应用程序 / 282
9.2.1 通过消息机制安装指定的apk / 283
9.2.2 调用handlestartcopy方法处理安装操作 / 286
9.2.3 调用handlereturncode方法处理返回结果 / 290
9.3  本章小结 / 293
第六部分 activity manager篇
第10章 activity manager的机制与实现 / 296
10.1 activity manager概述 / 296
10.2 activitymanagerservice在系统启动阶段的主要工作 / 297
10.3 第一阶段:启动activity managerservice / 299
10.3.1 启动athread线程 / 300
10.3.2 创建activitythread对象 / 302
10.3.3 创建activitystack类 / 309
10.3.4 调用startrunning方法 / 310
10.4 第二阶段:调用setsystemprocess方法 / 310
10.4.1 查询并处理applicationinfo / 312
10.4.2 创建并初始化processrecord / 313
10.5 第三阶段:调用install-systemproviders方法 / 315
10.5.1 查询content provider / 316
10.5.2 安装content provider / 317
10.6 第四阶段:调用systemready方法 / 323
10.6.1 发送action_pre_boot_completed广播 / 323
10.6.2 清理预启动的非persistent进程 / 325
10.6.3 读取settings配置 / 326
10.6.4 运行runnable回调接口 / 327
10.6.5 启动persistent应用程序和home / 328
10.7 本章小结 / 329
第11章 应用程序activity的启动和调度 / 330
11.1 启动应用程序activity时在client端的执行流程 / 330
11.2 启动应用程序activity时在server端的执行流程 / 334
11.2.1 预启动 / 334
11.2.2 暂停 / 348
11.2.3 启动应用程序进程 / 356
11.2.4 加载应用程序activity / 362
11.2.5 显示activity / 369
11.2.6 activity idle状态的处理过程 / 379
11.2.7 停止源activity / 382
11.3 本章小结 / 387
第12章 activity manager进程管理 / 388
12.1 lru weight机制 / 388
12.2 oom adj机制 / 391
12.2.1 更新oom adj值 / 392
12.2.2 oom adj的计算过程 / 403
12.3 low memory killer机制 / 414
12.3.1 oom adj等级和最小内存阈值 / 414
12.3.2 lm killer机制的实现 / 417
12.4 本章小结 / 419
 
图书信息来源:中国互动出版网
0
10
分享到:
评论

相关推荐

    Android的设计与实现卷I.pdf

    《Android的设计与实现:卷I》高清,从源代码角度,系统、深入、透彻剖析Android系统框架层(Framework)的设计思想和实现原理,为Android应用工程师和系统工程师解决各种难题提供了原理性的指导!

    Android的设计与实现卷I

    Android的设计与实现卷I,内容全面详细,简单易懂,Android的进阶必备

    Android的设计与实现(卷1)

    android的设计与实现:卷i》是android应用开发工程师和android系统工程师进阶修炼的必读之作。它由资深android内核专家亲自执笔,从源代码角度,系统、深入、透彻剖析android系统框架层(framework)的设计思想和...

    Android的设计与实现(卷1).part2

    Android的设计与实现(卷1).part2 ,需要的下载

    Android的设计与实现(卷1)-杨云君.zip

    Android的设计与实现(卷1)-杨云君

    Android技术内幕.系统卷.PDF

    全书将Android系统从构架上依次分为应用层、应用框架层、系统运行库层、硬件抽象层和Linux内核层等5个层次,旨在通过对Android系统源代码的全面分析来帮助开发者加深对Android系统架构设计和实现原理的认识,从而...

    《深入理解Android:卷I》试读本

    《深入理解Android:卷I》是一本以情景方式对Android的源代码进行深入分析的书。内容广泛,以对Framework层的分析为主,兼顾Native层和Application层;分析深入,每一部分源代码的分析都力求透彻;针对性强,注重实际...

    《Android的设计与实现(卷1)》.rar

    《Android的设计与实现(卷1)》

    Android的设计与实现 卷1 (带目录)

    “Android的设计与实现”系列丛书主要围绕Android系统的四层结构展开,通过源代码来分析各层的设计思想与实现原理,卷I则主要是针对Framework(框架层)的。 全书共12章,分为六个部分: 基础篇(第1~2章)详细讲解...

    深入理解Android:卷I--详细书签版

    深入理解Android:卷I(51CTO网站“2011年度最受读者喜爱的原创IT技术图书”) 基本信息 作者: 邓凡平 出版社:机械工业出版社 ISBN:9787111357629 上架时间:2011-9-13 出版日期:2011 年9月 开本:16开 页码:488...

    深入理解Android:卷2,中文完整扫描版

    《深入理解Android:卷2》不仅继承了第1本书的优点并改正了其在细微处存在的一些不足,而且还在写作的总体思想上进行了创新,更强调从系统设计者的角度去分析Android系统中各个模块内部的实现原理和工作机制。...

    完整版非样章《Android的设计与实现卷1》 杨云君

    新书《Android的设计与实现卷1》杨云君,绝非网上流传的三章节样章。扫描文件太大,没办法只能分两部分,这是第二部分。

    深入理解Android卷1和卷2.zip

    不仅继承了第1本书的优点并改正了其在细微处存在的一些不足,而且还在写作的总体思想上进行了创新,更强调从系统设计者的角度去分析Android系统中各个模块内部的实现原理和工作机制。从具体内容上讲,重点是Android...

    基于Android在线考试系统的设计与实现

    基于Android在线考试系统的设计与实现,该系统主要使用JSP技术、MySQL数据库、Java编程语言和Android系统等,实现对考试信息的管理。系统主要分为三个模块,服务端管理员的功能有:个人中心、首页轮播图管理、资讯...

    Android的设计与实现(卷1)-杨云君-epub版本

    Android的设计与实现(卷1)-杨云君-epub版本,在淘宝上买的,排版相当精美,便于手机观看,上传上来方便大家。

    Android技术内幕:系统卷

    全书将Android系统从构架上依次分为应用层、应用框架层、系统运行库层、硬件抽象层和Linux内核层等5个层次,旨在通过对Android系统源代码的全面分析来帮助开发者加深对Android系统架构设计和实现原理的认识,从而...

    android的设计与实现(卷1)

    android的设计与实现(卷1),是PDF扫描版,但是比较清晰,更重要的是这是完整版,不是样章,喜欢的尽情下载吧。有人知道怎么降低下载的积分吗?10分太多了

Global site tag (gtag.js) - Google Analytics