图书介绍
深入理解Android内核设计思想2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- 林学森编著 著
- 出版社: 北京:人民邮电出版社
- ISBN:9787115348418
- 出版时间:2014
- 标注页数:687页
- 文件大小:111MB
- 文件页数:700页
- 主题词:移动终端-应用程序-程序设计
PDF下载
下载说明
深入理解Android内核设计思想PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1篇 Android编译篇2
第1章 Android系统简介2
1.1 Android系统发展历程2
1.2 Android系统特点4
1.3 Android系统框架8
第2章 Android源码下载及编译10
2.1 Android源码下载指南10
2.1.1基于Repo和Git的版本管理10
2.1.2 Android源码下载流程11
2.2原生态系统编译指南12
2.2.1建立编译环境13
2.2.2编译流程15
2.3定制产品的编译与烧录17
2.3.1定制新产品17
2.3.2 Linux内核编译21
2.3.3烧录22
2.4 Android系统映像文件23
2.4.1 boot.img23
2.4.2 ramdisk.img25
2.4.3 system.img26
2.5 OTA系统升级26
2.5.1生成升级包27
2.5.2获取升级包28
2.5.3 OTA升级-RecoveryMode29
2.6 Android反编译31
第3章 Android编译系统34
3.1 Makefile入门34
3.2 Android编译系统35
3.2.1 Makefile依赖树的概念36
3.2.2树根节点droid36
3.2.3 main.mk解析38
3.2.4 droidcore节点39
3.2.5 dist_files41
3.2.6 Android.mk的编写规则42
第2篇 Android原理篇48
第4章 操作系统基础48
4.1计算机体系结构48
4.1.1冯·诺依曼结构48
4.1.2哈佛结构48
4.2什么是操作系统49
4.3进程间通信的经典实现51
4.3.1共享内存52
4.3.2管道54
4.3.3 Unix Domain Socket55
4.3.4 RPC58
4.4同步机制的经典实现58
4.4.1信号量58
4.4.2 Mutex59
4.4.3管程59
4.4.4同步范例60
4.5 Android中的同步机制61
4.5.1进程间同步——Mutex61
4.5.2条件判断——Condition62
4.5.3“栅栏、障碍”——Barrier64
4.5.4加解锁的自动化操作——Autolock66
4.6操作系统内存管理基础66
4.6.1虚拟内存66
4.6.2内存保护69
4.6.3内存分配与回收69
4.6.4进程间通信——mmap70
4.7 Android中的Low Memory Killer71
4.8 Android匿名共享内存74
4.8.1 Ashmem设备74
4.8.2 Ashmem应用实例78
4.9 JNI83
4.9.1 Java函数的本地实现83
4.9.2本地代码访问JVM86
4.10学习Android系统的两条线索88
第5章 Android进程/线程管理89
5.1 Android进程和线程89
5.2 Handler,MessageQueue,Runnable与Looper95
5.3 UI主线程——ActivityThread102
5.4 Thread类105
5.4.1 Thread类的内部原理105
5.4.2 Thread休眠和唤醒106
5.4.3 Thread实例110
5.5 Android应用程序的典型启动流程112
第6章 进程间通信——Binder114
6.1智能指针117
6.1.1智能指针的设计理念117
6.1.2强指针sp120
6.1.3弱指针wp121
6.2进程间的数据传递载体——Parcel128
6.3 Binder驱动与协议135
6.3.1打开Binder驱动——binder_open136
6.3.2 binder_mmap137
6.3.3 binder_ioctl140
6.4 “DNS”服务器——ServiceManager(Binder Server)141
6.4.1 ServiceManager的启动141
6.4.2 ServiceManager的构建142
6.4.3获取ServiceManager服务——设计思考147
6.4.4 ServiceManagerProxy151
6.4.5 IBinder和BpBinder153
6.4.6 ProcessState和IPCThreadState155
6.5 Binder客户端——Binder Client185
6.6 Android接口描述语言——AIDL190
6.7匿名Binder Server202
第7章 Android启动过程简析205
7.1第一个系统进程(init)205
7.1.1 init.rc语法205
7.1.2 init.rc实例分析208
7.2系统关键服务的启动简析209
7.2.1 Android的“DNS服务器”——ServiceManager209
7.2.2“孕育”新的线程和进程——Zygote209
7.2.3 Android的“系统服务”——SystemServer211
第8章 管理Activity和组件运行状态的系统进程——Activity ManagerService (AMS)213
8.1 AMS功能概述213
8.2管理当前系统中Activity状态——Activity Stack215
8.3 startActivity流程217
8.4完成同一任务的“集合”——Activity Task224
8.4.1“后进先出”——Last In,First Out225
8.4.2管理Activity Task226
第9章 GUI系统之SurfaceFlinger229
9.1 OpenGL ES与EGL229
9.2 Android的硬件接口——HAL231
9.3 Android终端显示设备的“化身”——Gralloc与Framebuffer233
9.4 Android中的本地窗口237
9.4.1 Framebuffer NativeWindow239
9.4.2应用程序端的本地窗口——Surface245
9.5 BufferQueue详解249
9.5.1 BufferQueue的内部原理249
9.5.2 BufferQueue中的缓冲区分配252
9.5.3应用程序的典型绘图流程258
9.5.4应用程序与BufferQueue的关系263
9.6 SurfaceFlinger267
9.6.1“黄油计划”——Project Butter267
9.6.2 SurfaceFlinger的启动271
9.6.3接口的服务端——Client275
9.7 VSync的产生和处理279
9.7.1 VSync信号的产生和分发279
9.7.2 VSync信号的处理285
9.7.3 handleMessage Transaction287
9.7.4“界面已经过时/无效,需要重新绘制”——handle MessageInvalidate291
9.7.5合成前的准备工作——preComposition293
9.7.6可见区域——rebuild LayerStacks295
9.7.7为“Composition”搭建环境——setUpHW Composer299
9.7.8 doDebugFlashRegions301
9.7.9 doComposition302
第10章 GUI系统之“窗口管理员”——WMS309
10.1“窗口管理员”——WMS综述310
10.1.1 WMS的启动312
10.1.2 WMS的基础功能312
10.1.3 WMS的工作方式313
10.1.4 WMS,AMS与Activity间的联系314
10.2窗口属性316
10.2.1窗口类型与层级316
10.2.2窗口策略320
10.2.3窗口属性322
10.3窗口的添加过程324
10.3.1系统窗口的添加过程324
10.3.2 Activity窗口的添加过程333
10.3.3窗口添加实例337
10.4 Surface管理340
10.4.1 Surface申请流程(relayout)341
10.4.2 Surface的跨进程传递344
10.4.3 Surface的业务操作347
10.5 performLayoutAndPlace SurfacesLockedInner347
10.6窗口大小的计算过程349
10.7启动窗口的添加与销毁358
10.7.1启动窗口的添加358
10.7.2启动窗口的销毁362
10.8窗口动画363
10.8.1窗口动画类型364
10.8.2动画流程跟跟踪——Window StateAnimator365
10.8.3 AppWindowAnimator368
10.8.4动画的执行过程370
第11章 让你的界面炫彩起来的GUI系统之View体系377
11.1应用程序中的View框架377
11.2 Activity中View Tree的创建过程380
11.3在WMS中注册窗口386
11.4 ViewRoot的基本工作方式388
11.5 View Tree的遍历时机389
11.6 View Tree的遍历流程393
11.7 View和ViewGroup属性402
11.7.1 View的基本属性402
11.7.2 ViewGroup的属性408
11.7.3 View,ViewGroup和ViewParent408
11.7.4 Callback接口408
11.8“作画”工具集——Canvas411
11.8.1“绘制UI”——Skia412
11.8.2数据中介——Surface.lock Canvas413
11.8.3解锁并提交结果——unlockCanvasAndPost417
11.9 draw和onDraw417
11.10 View中的消息传递423
11.10.1 View中TouchEvent的投递流程423
11.10.2 ViewGoup中TouchEvent的投递流程427
11.11 View动画430
第12章 “问渠哪得清如许,为有源头活水来”——InputManager Service与输入事件436
12.1事件的分类436
12.2事件的投递流程439
12.2.1 InputManagerService440
12.2.2 InputReaderThread441
12.2.3 InputDispatcherThread441
12.2.4 ViewRootImpl对事件的派发445
第13章 应用不再同质化——音频系统447
13.1音频基础448
13.1.1声波448
13.1.2音频的录制、存储与回放448
13.1.3音频采样449
13.1.4 Nyquist-Shannon采样定律451
13.1.5声道和立体声451
13.1.6声音定级——Weber-Fechner law452
13.1.7音频文件格式453
13.2音频框架454
13.2.1 Linux中的音频框架454
13.2.2 TinyAlsa456
13.2.3 Android系统中的音频框架457
13.3音频系统的核心——AudioFlinger459
13.3.1 AudioFlinger服务的启动和运行460
13.3.2 AudioFlinger对音频设备的管理461
13.3.3 PlaybackThread的循环主体468
13.3.4 AudioMixer473
13.4策略的制定者——AudioPolicyService475
13.4.1 AudioPolicyService概述475
13.4.2 AudioPolicyService的启动过程477
13.4.3 AudioPolicyService与音频设备480
13.5音频流的回放——AudioTrack482
13.5.1 AudioTrack应用实例482
13.5.2 AudioPolicyService的路由实现489
13.6音频数据流494
13.6.1 AudioTrack中的音频流495
13.6.2 AudioTrack和Audio Flinger间的数据交互498
13.6.3 AudioMixer中的音频流504
13.7音量控制506
13.8音频系统的上层建筑510
13.8.1从功能入手510
13.8.2 MediaPlayer511
13.8.3 MediaRecorder514
13.8.4一个典型的多媒体录制程序517
13.8.5 MediaRecorder源码解析518
13.8.6 MediaPlayerService简析520
13.9 Android支持的媒体格式523
13.9.1音频格式523
13.9.2视频格式523
13.9.3图片格式524
13.9.4网络流媒体524
13.10 ID3信息简述525
13.11 Android多媒体文件管理528
13.11.1 MediaStore529
13.11.2多媒体文件信息的存储“仓库”——Media Provider530
13.11.3多媒体文件管理中的“生产者”——Media Scanner533
第3篇 应用原理篇538
第14章 Intent的匹配规则538
14.1 Intent属性538
14.2 Intent的匹配规则540
14.3 Intent匹配源码简析546
第15章 APK应用程序的资源适配551
15.1资源类型552
15.1.1状态颜色资源553
15.1.2图形资源554
15.1.3布局资源555
15.1.4菜单资源556
15.1.5字符串资源556
15.1.6样式资源557
15.1.7其他资源558
15.1.8属性资源558
15.2提供可选资源561
15.3最佳资源的匹配流程565
15.4屏幕适配567
15.4.1屏幕适配的重要参数567
15.4.2如何适配多屏幕569
第16章 Android字符编码格式572
16.1字符编码格式背景572
16.2 ISO/IEC 8859573
16.3 ISO/IEC 10646573
16.4 Unicode574
16.5 String类型577
16.5.1构建String578
16.5.2 String对多种编码的兼容579
第17章 Android和OpenGL ES583
17.1 3D图形学基础584
17.1.1计算机3D图形584
17.1.2图形管线585
17.2 Android中的OpenGL ES简介587
17.3图形渲染API—EGL588
17.3.1 EGL与OpenGL ES588
17.3.2 egl.cfg588
17.3.3 EGL接口解析590
17.3.4 EGL实例593
17.4简化OpenGL ES开发——GLSurfaceView593
第18章“系统的UI”——SystemUl601
18.1 SystemUI的组成元素601
18.2 SystemUI的实现603
18.3 Android壁纸资源——WallpaperService610
18.3.1 WallPaperManager Service611
18.3.2 Image Wallpaper613
第19章 Android常用的工具“小插件”——Widget机制616
19.1“功能的提供者”——AppWidgetProvider616
19.2 AppWidgetHost618
第20章 Android应用程序的编译和打包624
20.1“另辟蹊径”采用第三方工具——Ant624
20.2通过命令行编译和打包APK625
20.3 APK编译过程详解626
20.4信息安全基础概述628
20.5应用程序签名633
20.6应用程序签名源码简析636
第4篇 Android系统工具642
第21章 软件版本管理642
21.1版本管理简述642
21.2 Git的安装643
21.2.1 Linux环境下安装Git643
21.2.2 Windows环境下安装Git644
21.3 Git的使用644
21.3.1基础配置644
21.3.2新建仓库646
21.3.3文件状态647
21.3.4忽略某些文件649
21.3.5提交更新649
21.3.6其他命令650
21.4 Git原理简析650
21.4.1分布式版本系统的特点651
21.4.2安全散列算法——SHA-1652
21.4.3四个重要对象653
21.4.4三个区域657
21.4.5分支的概念与实例658
第22章 系统调试辅助工具662
22.1万能模拟器——Emulator662
22.1.1 QEMU662
22.1.2 Android工程中的QEMU667
22.1.3模拟器控制台(Emulator Console)670
22.1.4实例:为Android模拟器添加串口功能672
22.2此Android非彼Android674
22.3快速建立与模拟器或真机的通信渠道——ADB676
22.3.1 ADB的使用方法676
22.3.2 ADB的组成元素678
22.3.3 ADB源代码解析679
22.3.4 ADB Protocol684
热门推荐
- 2214736.html
- 1903627.html
- 385782.html
- 2140783.html
- 739651.html
- 2967241.html
- 3781699.html
- 1618219.html
- 335837.html
- 3574479.html
- http://www.ickdjs.cc/book_2200774.html
- http://www.ickdjs.cc/book_1169915.html
- http://www.ickdjs.cc/book_2562326.html
- http://www.ickdjs.cc/book_394766.html
- http://www.ickdjs.cc/book_2471301.html
- http://www.ickdjs.cc/book_538017.html
- http://www.ickdjs.cc/book_2555033.html
- http://www.ickdjs.cc/book_3449936.html
- http://www.ickdjs.cc/book_1371060.html
- http://www.ickdjs.cc/book_2405336.html