主页 详情

《深入理解Android内核设计思想》_林学森编著_13522626_9787115348418

【书名】:《深入理解Android内核设计思想》
【作者】:林学森编著
【出版社】:北京:人民邮电出版社
【时间】:2014
【页数】:687
【ISBN】:9787115348418
【SS码】:13522626

最新查询

内容简介

第1篇 Android编译篇

第1章 Android系统简介

1.1 Android系统发展历程

1.2 Android系统特点

1.3 Android系统框架

第2章 Android源码下载及编译

2.1 Android源码下载指南

2.1.1基于Repo和Git的版本管理

2.1.2 Android源码下载流程

2.2原生态系统编译指南

2.2.1建立编译环境

2.2.2编译流程

2.3定制产品的编译与烧录

2.3.1定制新产品

2.3.2 Linux内核编译

2.3.3烧录

2.4 Android系统映像文件

2.4.1 boot.img

2.4.2 ramdisk.img

2.4.3 system.img

2.5 OTA系统升级

2.5.1生成升级包

2.5.2获取升级包

2.5.3 OTA升级-RecoveryMode

2.6 Android反编译

第3章 Android编译系统

3.1 Makefile入门

3.2 Android编译系统

3.2.1 Makefile依赖树的概念

3.2.2树根节点droid

3.2.3 main.mk解析

3.2.4 droidcore节点

3.2.5 dist_files

3.2.6 Android.mk的编写规则

第2篇 Android原理篇

第4章 操作系统基础

4.1计算机体系结构

4.1.1冯·诺依曼结构

4.1.2哈佛结构

4.2什么是操作系统

4.3进程间通信的经典实现

4.3.1共享内存

4.3.2管道

4.3.3 Unix Domain Socket

4.3.4 RPC

4.4同步机制的经典实现

4.4.1信号量

4.4.2 Mutex

4.4.3管程

4.4.4同步范例

4.5 Android中的同步机制

4.5.1进程间同步——Mutex

4.5.2条件判断——Condition

4.5.3“栅栏、障碍”——Barrier

4.5.4加解锁的自动化操作——Autolock

4.6操作系统内存管理基础

4.6.1虚拟内存

4.6.2内存保护

4.6.3内存分配与回收

4.6.4进程间通信——mmap

4.7 Android中的Low Memory Killer

4.8 Android匿名共享内存

4.8.1 Ashmem设备

4.8.2 Ashmem应用实例

4.9 JNI

4.9.1 Java函数的本地实现

4.9.2本地代码访问JVM

4.10学习Android系统的两条线索

第5章 Android进程/线程管理

5.1 Android进程和线程

5.2 Handler,MessageQueue,Runnable与Looper

5.3 UI主线程——ActivityThread

5.4 Thread类

5.4.1 Thread类的内部原理

5.4.2 Thread休眠和唤醒

5.4.3 Thread实例

5.5 Android应用程序的典型启动流程

第6章 进程间通信——Binder

6.1智能指针

6.1.1智能指针的设计理念

6.1.2强指针sp

6.1.3弱指针wp

6.2进程间的数据传递载体——Parcel

6.3 Binder驱动与协议

6.3.1打开Binder驱动——binder_open

6.3.2 binder_mmap

6.3.3 binder_ioctl

6.4 “DNS”服务器——ServiceManager(Binder Server)

6.4.1 ServiceManager的启动

6.4.2 ServiceManager的构建

6.4.3获取ServiceManager服务——设计思考

6.4.4 ServiceManagerProxy

6.4.5 IBinder和BpBinder

6.4.6 ProcessState和IPCThreadState

6.5 Binder客户端——Binder Client

6.6 Android接口描述语言——AIDL

6.7匿名Binder Server

第7章 Android启动过程简析

7.1第一个系统进程(init)

7.1.1 init.rc语法

7.1.2 init.rc实例分析

7.2系统关键服务的启动简析

7.2.1 Android的“DNS服务器”——ServiceManager

7.2.2“孕育”新的线程和进程——Zygote

7.2.3 Android的“系统服务”——SystemServer

第8章 管理Activity和组件运行状态的系统进程——Activity ManagerService (AMS)

8.1 AMS功能概述

8.2管理当前系统中Activity状态——Activity Stack

8.3 startActivity流程

8.4完成同一任务的“集合”——Activity Task

8.4.1“后进先出”——Last In,First Out

8.4.2管理Activity Task

第9章 GUI系统之SurfaceFlinger

9.1 OpenGL ES与EGL

9.2 Android的硬件接口——HAL

9.3 Android终端显示设备的“化身”——Gralloc与Framebuffer

9.4 Android中的本地窗口

9.4.1 Framebuffer NativeWindow

9.4.2应用程序端的本地窗口——Surface

9.5 BufferQueue详解

9.5.1 BufferQueue的内部原理

9.5.2 BufferQueue中的缓冲区分配

9.5.3应用程序的典型绘图流程

9.5.4应用程序与BufferQueue的关系

9.6 SurfaceFlinger

9.6.1“黄油计划”——Project Butter

9.6.2 SurfaceFlinger的启动

9.6.3接口的服务端——Client

9.7 VSync的产生和处理

9.7.1 VSync信号的产生和分发

9.7.2 VSync信号的处理

9.7.3 handleMessage Transaction

9.7.4“界面已经过时/无效,需要重新绘制”——handle MessageInvalidate

9.7.5合成前的准备工作——preComposition

9.7.6可见区域——rebuild LayerStacks

9.7.7为“Composition”搭建环境——setUpHW Composer

9.7.8 doDebugFlashRegions

9.7.9 doComposition

第10章 GUI系统之“窗口管理员”——WMS

10.1“窗口管理员”——WMS综述

10.1.1 WMS的启动

10.1.2 WMS的基础功能

10.1.3 WMS的工作方式

10.1.4 WMS,AMS与Activity间的联系

10.2窗口属性

10.2.1窗口类型与层级

10.2.2窗口策略

10.2.3窗口属性

10.3窗口的添加过程

10.3.1系统窗口的添加过程

10.3.2 Activity窗口的添加过程

10.3.3窗口添加实例

10.4 Surface管理

10.4.1 Surface申请流程(relayout)

10.4.2 Surface的跨进程传递

10.4.3 Surface的业务操作

10.5 performLayoutAndPlace SurfacesLockedInner

10.6窗口大小的计算过程

10.7启动窗口的添加与销毁

10.7.1启动窗口的添加

10.7.2启动窗口的销毁

10.8窗口动画

10.8.1窗口动画类型

10.8.2动画流程跟跟踪——Window StateAnimator

10.8.3 AppWindowAnimator

10.8.4动画的执行过程

第11章 让你的界面炫彩起来的GUI系统之View体系

11.1应用程序中的View框架

11.2 Activity中View Tree的创建过程

11.3在WMS中注册窗口

11.4 ViewRoot的基本工作方式

11.5 View Tree的遍历时机

11.6 View Tree的遍历流程

11.7 View和ViewGroup属性

11.7.1 View的基本属性

11.7.2 ViewGroup的属性

11.7.3 View,ViewGroup和ViewParent

11.7.4 Callback接口

11.8“作画”工具集——Canvas

11.8.1“绘制UI”——Skia

11.8.2数据中介——Surface.lock Canvas

11.8.3解锁并提交结果——unlockCanvasAndPost

11.9 draw和onDraw

11.10 View中的消息传递

11.10.1 View中TouchEvent的投递流程

11.10.2 ViewGoup中TouchEvent的投递流程

11.11 View动画

第12章 “问渠哪得清如许,为有源头活水来”——InputManager Service与输入事件

12.1事件的分类

12.2事件的投递流程

12.2.1 InputManagerService

12.2.2 InputReaderThread

12.2.3 InputDispatcherThread

12.2.4 ViewRootImpl对事件的派发

第13章 应用不再同质化——音频系统

13.1音频基础

13.1.1声波

13.1.2音频的录制、存储与回放

13.1.3音频采样

13.1.4 Nyquist-Shannon采样定律

13.1.5声道和立体声

13.1.6声音定级——Weber-Fechner law

13.1.7音频文件格式

13.2音频框架

13.2.1 Linux中的音频框架

13.2.2 TinyAlsa

13.2.3 Android系统中的音频框架

13.3音频系统的核心——AudioFlinger

13.3.1 AudioFlinger服务的启动和运行

13.3.2 AudioFlinger对音频设备的管理

13.3.3 PlaybackThread的循环主体

13.3.4 AudioMixer

13.4策略的制定者——AudioPolicyService

13.4.1 AudioPolicyService概述

13.4.2 AudioPolicyService的启动过程

13.4.3 AudioPolicyService与音频设备

13.5音频流的回放——AudioTrack

13.5.1 AudioTrack应用实例

13.5.2 AudioPolicyService的路由实现

13.6音频数据流

13.6.1 AudioTrack中的音频流

13.6.2 AudioTrack和Audio Flinger间的数据交互

13.6.3 AudioMixer中的音频流

13.7音量控制

13.8音频系统的上层建筑

13.8.1从功能入手

13.8.2 MediaPlayer

13.8.3 MediaRecorder

13.8.4一个典型的多媒体录制程序

13.8.5 MediaRecorder源码解析

13.8.6 MediaPlayerService简析

13.9 Android支持的媒体格式

13.9.1音频格式

13.9.2视频格式

13.9.3图片格式

13.9.4网络流媒体

13.10 ID3信息简述

13.11 Android多媒体文件管理

13.11.1 MediaStore

13.11.2多媒体文件信息的存储“仓库”——Media Provider

13.11.3多媒体文件管理中的“生产者”——Media Scanner

第3篇 应用原理篇

第14章 Intent的匹配规则

14.1 Intent属性

14.2 Intent的匹配规则

14.3 Intent匹配源码简析

第15章 APK应用程序的资源适配

15.1资源类型

15.1.1状态颜色资源

15.1.2图形资源

15.1.3布局资源

15.1.4菜单资源

15.1.5字符串资源

15.1.6样式资源

15.1.7其他资源

15.1.8属性资源

15.2提供可选资源

15.3最佳资源的匹配流程

15.4屏幕适配

15.4.1屏幕适配的重要参数

15.4.2如何适配多屏幕

第16章 Android字符编码格式

16.1字符编码格式背景

16.2 ISO/IEC 8859

16.3 ISO/IEC 10646

16.4 Unicode

16.5 String类型

16.5.1构建String

16.5.2 String对多种编码的兼容

第17章 Android和OpenGL ES

17.1 3D图形学基础

17.1.1计算机3D图形

17.1.2图形管线

17.2 Android中的OpenGL ES简介

17.3图形渲染API—EGL

17.3.1 EGL与OpenGL ES

17.3.2 egl.cfg

17.3.3 EGL接口解析

17.3.4 EGL实例

17.4简化OpenGL ES开发——GLSurfaceView

第18章“系统的UI”——SystemUl

18.1 SystemUI的组成元素

18.2 SystemUI的实现

18.3 Android壁纸资源——WallpaperService

18.3.1 WallPaperManager Service

18.3.2 Image Wallpaper

第19章 Android常用的工具“小插件”——Widget机制

19.1“功能的提供者”——AppWidgetProvider

19.2 AppWidgetHost

第20章 Android应用程序的编译和打包

20.1“另辟蹊径”采用第三方工具——Ant

20.2通过命令行编译和打包APK

20.3 APK编译过程详解

20.4信息安全基础概述

20.5应用程序签名

20.6应用程序签名源码简析

第4篇 Android系统工具

第21章 软件版本管理

21.1版本管理简述

21.2 Git的安装

21.2.1 Linux环境下安装Git

21.2.2 Windows环境下安装Git

21.3 Git的使用

21.3.1基础配置

21.3.2新建仓库

21.3.3文件状态

21.3.4忽略某些文件

21.3.5提交更新

21.3.6其他命令

21.4 Git原理简析

21.4.1分布式版本系统的特点

21.4.2安全散列算法——SHA-1

21.4.3四个重要对象

21.4.4三个区域

21.4.5分支的概念与实例

第22章 系统调试辅助工具

22.1万能模拟器——Emulator

22.1.1 QEMU

22.1.2 Android工程中的QEMU

22.1.3模拟器控制台(Emulator Console)

22.1.4实例:为Android模拟器添加串口功能

22.2此Android非彼Android

22.3快速建立与模拟器或真机的通信渠道——ADB

22.3.1 ADB的使用方法

22.3.2 ADB的组成元素

22.3.3 ADB源代码解析

22.3.4 ADB Protocol


书查询(www.shuchaxun.com)本网页唯一编码:
e787858ef97a964ab93bb1be16ebfff9#60b4d8acb5955b910ccd2093f59fd9e6#120283191#13522626.zip