一、目录介绍
第1章 Android概述 1
1.1 移动互联网 2
1.1.1 “4C”融合 3
1.1.2 物联网 4
1.2 发展概况 4
1.2.1 OHA联盟 5
1.2.2 Android现状 6
1.2.3 网络资源 7
1.3 开发环境 8
1.3.1 基于SDK的开发环境 8
1.3.2 基于源代码的开发环境 12
1.4 体系架构 12
1.4.1 核心服务 13
1.4.2 原生服务 15
1.4.3 原生库 17
1.4.4 运行时组件 18
1.4.5 硬件抽象层 19
1.4.6 Linux内核 19
第2章 Android基础 26
2.1 Hello World 27
2.2 应用框架 33
2.2.1 应用组件 33
2.2.2 Activity和Tasks 55
2.2.3 进程和线程 55
2.2.4 组件生命周期 56
2.3 启动过程 58
2.3.1 init.rc初始化脚本 59
2.3.2 服务管理器 65
2.3.3 Dalvik虚拟机 67
2.3.4 实时进程 71
2.4 进程间通信 77
2.4.1 ONC RPC远程调用 78
2.4.2 IBinder通信机制 79
2.5 交互过程 80
2.5.1 Java JNI原生接口 81
2.5.2 直接调用 81
2.5.3 原生服务调用 82
2.5.4 原生守护进程调用 82
2.6 性能优化 83
2.6.1 资源读取 83
2.6.2 DEX文件和APK加载 84
2.6.3 虚拟机和平台实现 86
第3章 多核通信 88
3.1 共享内存 89
3.1.1 同步与互斥 89
3.1.2 SMD数据通信 90
3.1.3 SMSM状态通信 96
3.2 过程调用 98
3.2.1 RPC路由器 99
3.2.2 RPC管道 102
第4章 多媒体框架 106
4.1 框架概述 107
4.2 OpenMAX接口规范 107
4.2.1 OpenMAX AL应用层 108
4.2.2 OpenMAX IL集成层 108
4.2.3 OpenMAX DL开发层 113
4.3 OpenCORE框架 113
4.3.1 内容策略管理 114
4.3.2 多媒体引擎 123
4.3.3 文件解析和组合 130
4.3.4 编解码器 133
4.3.5 OSCL底层移植 139
4.3.6 A/V同步 143
4.4 Stagefright框架 145
4.5 元数据 147
4.5.1 色彩模式 147
4.5.2 脉冲调制 148
第5章 图像框架 149
5.1 Camera拍照框架 150
5.1.1 Camera原生服务 150
5.1.2 Camera的HAL接口 156
5.1.3 Camera参数的设置 160
5.2 重要数据结构 162
第6章 音频框架 164
6.1 音频管理框架 165
6.1.1 Audio Flinger 166
6.1.2 Audio Policy Service 177
6.2 音频编解码过程 180
6.2.1 AMR的编码过程 181
6.2.2 AMR的解码过程 188
6.2.3 MP3的解码过程 193
第7章 视频框架 197
7.1 Camera录像框架 198
7.2 媒体播放服务 202
7.3 视频的编解码过程 205
7.3.1 视频的编码过程 206
7.3.2 视频的解码过程 209
第8章 渲染机制 213
8.1 Surface Flinger管理器 214
8.1.1 Layer的四种模式 215
8.1.2 Surface渲染管理 220
8.2 Skia渲染 223
8.2.1 Skia图形渲染 224
8.2.2 Skia图像渲染 226
8.2.3 Skia UI控件 234
8.3 OpenGL ES渲染 235
8.4 硬件加速 238
8.4.1 Overlay 239
8.4.2 帧缓冲 240
8.4.3 MDP 242
第9章 图像应用 243
9.1 基本接口 244
9.2 图像的处理 247
9.3 动画的处理 254
第10章 音频应用 262
10.1 基本接口 263
10.2 Audio Manager 264
10.3 音频记录的处理 266
10.4 音频播放的处理 267
10.5 语音识别 277
10.6 SIP服务 281
第11章 视频应用 286
11.1 视频记录 287
11.2 视频播放 290
跋 295
后记 298
参考文献 304