稀酷客

 找回密码
 加入稀酷客

只需一步,快速开始

只需一步,快速开始

关注微信
免费下载

[电子图书] 《深入剖析Android系统》.(杨长刚).[PDF]@ckook

[推广链接]
立即下载
by : paul1113 | QQ | 发表于 2017-7-4 11:22:38 | 查看: 469|回复: 2
《深入剖析Android系统》.(杨长刚).[PDF]@ckook Android

《深入剖析Android系统》以Android Jelly Bean(4.1)的代码为蓝本,对Android的部分关键代码进行了注释分析,并辅以大量插图,讲述了Android大部分子系统中的模块和类的静态结构,让读者对Android系统的内部静态结构有着“类”粒度这一层级上的认识和了解。同时,也对关键类和函数的代码调用流程、运行时刻所位于的进程和线程上下文等动态运行场景进行了分析讲述,让读者深刻理解Android系统内部是如何运行的。本书直接对Source Insight进行截图,保留了代码的原始行号、英文注释等信息并进行了高亮显示,方便读者阅读;代码中同时添加了作者所做的中文注释说明。

作译者
杨长刚,2005年春毕业于西南交通大学计算机应用技术专业,获硕士学位;后进入手机行业从事Linux手机软件开发工作。目前在一家欧美企业从事Android方面的技术工作。作者官方博客:http://www.redwolf-blog.com/

目录
《深入剖析Android系统》
第1章 智能指针        1
1.1 智能指针概述        1
1.2 引用计数基类RefBase        2
1.3 轻量级引用计数LightRefBase        3
1.4 强指针        3
1.4.1 强指针变量的初始化与生命周期        3
1.4.2 赋值操作与引用计数变化        5
1.5 弱指针        5
第2章 消息队列与线程处理        7
2.1 消息队列处理模型的设计        7
2.2 消息队列与线程处理的Java实现        9
2.2.1 Thread/Runnable        9
2.2.2 Message        10
2.2.3 MessageQueue概述        11
2.2.4 Handler        11
2.2.5 Looper        12
2.2.6 再论Handler        15
2.2.7 对同步消息的支持        16
2.3 native层的Looper与消息队列处理        19
2.3.1 Looper中的睡眠等待与唤醒机制        19
2.3.2 Looper对文件描述符的监控与处理        22
2.3.3 Looper中的消息队列处理机制        25
2.3.4 Looper与线程执行上下文        27
第3章 Binder IPC及其应用        29
3.1 Binder IPC        29
3.1.1 Binder IPC与系统服务        29
3.1.2 Binder类结构与调用关系        31
3.1.3 模板函数interface_cast的背后        33
3.1.4 例子AudioPolicyService        37
3.2 Java层对Binder的封装        40
3.2.1 例子IMediaPlaybackService        42
3.2.2 例子PhoneStateListener        47
3.3 大内存块的跨进程共享        52
3.3.1 概述        52
3.3.2 调用接口        53
3.3.3 设备空间的映射        55
3.3.4 Server侧的处理        57
第4章 HAL硬件抽象层        59
4.1 HAL概述        59
4.2 硬件模块库的通用写法        60
4.3 硬件模块库的装载与解析        63
4.4 例子Lights        65
4.5 例子Camera        68
4.6 例子Power和Vibrator        69
第5章 Android的启动过程        71
5.1 Android初始化语言及解析        71
5.1.1 Action        71
5.1.2 触发器trigger        72
5.1.3 命令Command        72
5.1.4 服务Service        74
5.1.5 .rc文件的解析        76
5.2 BootChart        82
5.3 ueventd守护进程        82
5.4 init进程的启动过程        87
5.5 init.rc文件中的服务进程        93
5.6 system_server进程        95
5.6.1 app_process程序        95
5.6.2 system_server进程        96
第6章 输入系统        99
6.1 输入系统概述        99
6.2 读线程        101
6.2.1 EventHub        101
6.2.2 InputReader        106
6.2.3 InputDevice        108
6.2.4 InputMapper        108
6.2.5 QueuedInputListener        111
6.3 分发线程        112
6.3.1 InputDispatcher        112
6.3.2 InputChannel        116
6.4 输入系统的开启        118
第7章 MassStorage        121
7.1 MassStorage概述        121
7.2 MountService        122
7.3 库libsysutils.so        123
7.3.1 SocketListener        123
7.3.2 FrameworkListener        126
7.3.3 NetlinkListener        127
7.4 守护进程vold        128
7.4.1 NetlinkManager        128
7.4.2 CommandListener        131
7.4.3 vold的main函数        135
第8章 Sensor        137
8.1 Sensor概述        137
8.2 SDK API概述        138
8.3 Sensor管理器        139
8.3.1 Sensor采样数据的获取与处理        141
8.3.2 SensorEventQueue        146
8.4 SensorService        147
8.4.1 逻辑传感器        149
8.4.2 物理传感器        150
8.4.3 Sensor HAL        150
第9章 RIL        153
9.1 RIL概述        153
9.2 rild守护进程        154
9.3 事件处理与分发线程        158
9.3.1 分发线程中的事件处理        158
9.3.2 RIL请求的接收与处理        161
9.3.3 RIL响应的回送        165
9.4 radiooptions工具程序        169
9.5 RILJ        169
9.5.1 RILJ概述        169
9.5.2 RILRequest的发送过程        171
9.5.3 Response的处理过程        174
第10章 com.android.phone进程        178
10.1 层次状态机StateMachine        178
10.2 GSMPhone        179
10.3 GsmCallTracker        184
10.3.1 GsmDataConnectionTracker        186
10.3.2 GsmServiceStateTracker        188
10.3.3 DefaultPhoneNotifier        188
10.3.4 其他        189
10.4 进程com.android.phone        190
第11章 Graphic        196
11.1 Graphic概述        196
11.2 Java层简介        197
11.2.1 SurfaceSession        198
11.2.2 Surface        198
11.2.3 SurfaceView        199
11.2.4 TextureView        200
11.3 JNI层简介        200
11.4 SKIA库简介        201
11.5 库libgui.so        202
11.5.1 概述        202
11.5.2 ComposerService        204
11.5.3 共享控制块surface_flinger_cblk_t        204
11.5.4 ISurfaceComposer        205
11.5.5 ScreenshotClient        207
11.5.6 SurfaceComposerClient        207
11.5.7 Surface        210
11.5.8 SurfaceControl        211
11.5.9 绘图操作的前后过程        213
11.5.10 SurfaceTexture Client        215
11.6 SurfaceFlinger进程        222
11.6.1 图层        223
11.6.2 DisplayHardware简介        228
11.6.3 HWComposer简介        228
11.6.4 VSync        229
11.7 库libui.so简介        247
11.7.1 GraphicBuffer        247
11.7.2 FramebufferNativeWindow        248
11.8 RenderScript简介        249
第12章 OpenGL ES软件层次栈        250
12.1 Android中的OpenGL ES简介        250
12.2 Android中OpenGL软件层次栈        251
12.3 包裹库与hook钩子        253
12.3.1 libGLESv1_CM.so包裹库        253
12.3.2 libGLESv2包裹库        257
12.3.3 libEGL包裹库        257
12.3.4 结构体egl_t和gl_hooks_t钩子        258
12.4 OpenGL实现库的加载和解析        260
12.4.1 加载和解析的发起        260
12.4.2 库装载器Loader        261
12.5 libGLES_android库和ETC1简介        265
第13章 Multimedia        267
13.1 Multimedia概述        267
13.2 API类简述        268
13.3 多媒体播放(playback)        270
13.3.1 播放流程        273
13.3.2 来自server侧的消息事件通知        277
13.4 多媒体录制(Recording)        279
13.5 元数据(MetaData)获取        281
13.6 Camera        284
13.6.1 Camera概述        284
13.6.2 CameraHardwareInterface与HAL层        287
13.7 Camera事件通知机制        289
第14章 Audio        293
14.1 Audio概述        293
14.2 Audio播放AudioTrack        295
14.2.1 共享控制块audio_track_cblk_t        296
14.2.2 数据的写入        298
14.2.3 事件的回送及处理        299
14.3 Auido录音Recording        301
14.3.1 录音的开始过程        303
14.3.2 录音的停止过程        306
14.4 AudioFlinger        307
14.4.1 AudioFlinger概述        307
14.4.2 Track相关类概述        308
14.4.3 AudioFlinger中的线程        311
14.5 音效AudioEffect        319
14.5.1 EffectHandle        320
14.5.2 音效引擎的封装EffectModule        320
14.5.3 音效链EffectChain        321
14.5.4 音效处理引擎接口effect_interface_s        322
14.5.5 音效引擎库audio_effect_library_s        323
14.5.6 音效引擎工厂EffectFactory        324
14.6 音频策略服务AudioPolicyService        326
第15章 Stagefright        331
15.1 Stagefright概述        331
15.2 节点子类        332
15.3 StagefrightPlayer        334
15.4 视频帧的渲染输出AwesomeRenderer        343
15.4.1 Renderer的创建        344
15.4.2 AwesomeLocalRenderer        345
15.4.3 AwesomeNativeWindowRenderer        347
15.5 AudioPlayer        347
15.6 A/V同步简介        350
15.7 StagefrightRecorder        351
第16章 OMXCodec        356
16.1 OpenMAX概述        356
16.1.1 组件(Component)与端口(Port)        357
16.1.2 组件的初始化        358
16.1.3 数据处理        359
16.1.4 组件命令OMX_Command        360
16.2 OMXCodec类        362
16.2.1 组件的创建        362
16.2.2 缓冲区的分配        364
16.2.3 数据处理流程        370
16.3 IOMX        374
16.4 OMX插件        376
16.4.1 平台厂家插件        377
16.4.2 软件OMX插件SoftOMXPlugin        379
16.5 组件消息的上报        383
第17章 GPS        386
17.1 GPS 简述        386
17.2 SDK API概述        386
17.3 LocationManagerService        388
17.4 GpsLocationProvider        390
17.4.1 初始化代码分析        391
17.4.2 消息处理与回调结构体        392
17.4.3 例子:位置信息的上报        394
17.5 HAL层简介        396
17.5.1 GPS的位置信息        396
17.5.2 GPS卫星信息        397
17.5.3 GPS回调函数        397
第18章 NFC        399
18.1 NFC概述        399
18.2 SDK API概述        400
18.2.1 NfcAdapter        401
18.2.2 NdefMessage        401
18.2.3 NFC Tag        402
18.2.4 NFC-extras        403
18.3 进程com.android.nfc        403
18.3.1 P2pEventManager        403
18.3.2 P2pLinkManager        405
18.3.3 Bluetooth Handover        408
18.3.4 SNEP        409
18.3.5 NDEF Push        413
18.3.6 其他类简介        414
18.4 JNI层        415
第19章 USB        418
19.1 SDK API概述        418
19.2 UsbService        420
19.2.1 UsbDeviceManager        421
19.2.2 UsbHostManager        422
19.3 uevent        424
第20章 Bluetooth和Wi-Fi简析        429
20.1 Bluetooth        429
20.1.1 Bluetooth概述        429
20.1.2 SDK API概述        430
20.1.3 Bluetooth服务        432
20.1.4 JNI层        433
20.2 Wi-Fi        436
20.2.1 Wi-Fi概述        436
20.2.2 SDK API概述        436
20.2.3 JNI和HAL层        439
20.2.4 WPA_supplicant        440
第21章 Debuggerd        441
21.1 预备知识        441
21.1.1 ptrace调用        441
21.1.2 waitpid        442
21.2 debuggerd守护进程        442
后记        450


游客,本付费内容需要支付 20酷币 才能浏览    如何免币下载?支付



回复

使用道具 举报

by : bbkjxzh | QQ | 发表于 2017-7-7 09:06:43
好东西,谢谢露珠
回复 支持 反对

使用道具 举报

by : VicRobin | QQ | 发表于 2017-8-8 13:26:02

好东西,谢谢露珠
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入稀酷客   

本版积分规则

点击这里给我发消息 |小黑屋|手机版|Archiver|ckook ( 冀ICP备14004526号-1 )

GMT+8, 2017-9-21 05:41 , Processed in 1.187531 second(s), 35 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表