深入剖析Android系统
第1章 智能指针
1.1 智能指针概述
1.2 引用计数基类RefBase
1.3 轻量级引用计数LightRefBase
1.4 强指针
1.4.1 强指针变量的初始化与生命周期
1.4.2 赋值操作与引用计数变化
1.5 弱指针
第2章 消息队列与线程处理
2.1 消息队列处理模型的设计
查看完整
1.1 智能指针概述
1.2 引用计数基类RefBase
1.3 轻量级引用计数LightRefBase
1.4 强指针
1.4.1 强指针变量的初始化与生命周期
1.4.2 赋值操作与引用计数变化
1.5 弱指针
第2章 消息队列与线程处理
2.1 消息队列处理模型的设计
查看完整
杨长刚,2005年春毕业于西南交通大学计算机应用技术专业,获硕士学位;后进入手机行业从事Linux手机软件开发工作。目前在一家欧美企业从事Android方面的技术工作。作者官方博客:http://www.redwolf-blog.com/
《深入剖析Android系统》以Android Jelly Bean(4.1)的代码为蓝本,对Android的部分关键代码进行了注释分析,并辅以大量插图,讲述了Android大部分子系统中的模块和类的静态结构,让读者对Android系统的内部静态结构有着“类”粒度这一层级上的认识和了解。同时,也对关键类和函数的代码调用流程、运行时刻所位于的进程和线程上下文等动态运行场景进行了分析讲述,让读者深刻理解Android系统内部是如何运行的。本书直接对Source Insight进行截图,保留了代码的原始行号、英文注释等信息并进行了高亮显示,方便读者阅读;代码中同时添加了作者所做的中文注释说明。
第1章 智能指针
1.1 智能指针概述
1.2 引用计数基类RefBase
1.3 轻量级引用计数LightRefBase
1.4 强指针
1.4.1 强指针变量的初始化与生命周期
1.4.2 赋值操作与引用计数变化
1.5 弱指针
第2章 消息队列与线程处理
2.1 消息队列处理模型的设计
2.2 消息队列与线程处理的Java实现
2.2.1 Thread\/Runnable
2.2.2 Message
2.2.3 MessageQueue概述
2.2.4 Handler
2.2.5 Looper
2.2.6 再论Handler
2.2.7 对同步消息的支持
2.3 native层的Looper与消息队列处理
2.3.1 Looper中的睡眠等待与唤醒机制
2.3.2 Looper对文件描述符的监控与处理
2.3.3 Looper中的消息队列处理机制
2.3.4 Looper与线程执行上下文
第3章 Binder IPC及其应用
3.1 Binder IPC
3.1.1 Binder IPC与系统服务
3.1.2 Binder类结构与调用关系
3.1.3 模板函数interface_cast的背后
3.1.4 例子AudioPolicyService
3.2 Java层对Binder的封装
3.2.1 例子IMediaPlaybackService
3.2.2 例子PhoneStateListener
3.3 大内存块的跨进程共享
3.3.1 概述
3.3.2 调用接口
3.3.3 设备空间的映射
3.3.4 Server侧的处理
第4章 HAL硬件抽象层
4.1 HAL概述
4.2 硬件模块库的通用写法
4.3 硬件模块库的装载与解析
4.4 例子Lights
4.5 例子Camera
4.6 例子Power和Vibrator
第5章 Android的启动过程
5.1 Android初始化语言及解析
5.1.1 Action
5.1.2 触发器trigger
5.1.3 命令Command
5.1.4 服务Service
5.1.5 .rc文件的解析
5.2 BootChart
5.3 ueventd守护进程
5.4 init进程的启动过程
5.5 init.rc文件中的服务进程
5.6 system_server进程
5.6.1 app_process程序
5.6.2 system_server进程
第6章 输入系统
6.1 输入系统概述
6.2 读线程
6.2.1 EventHub
6.2.2 InputReader
6.2.3 InputDevice
6.2.4 InputMapper
6.2.5 QueuedInputListener
6.3 分发线程
6.3.1 InputDispatcher
6.3.2 InputChannel
6.4 输入系统的开启
第7章 MassStorage
7.1 MassStorage概述
7.2 MountService
7.3 库libsysutils.so
7.3.1 SocketListener
7.3.2 FrameworkListener
7.3.3 NetlinkListener
7.4 守护进程vold
7.4.1 NetlinkManager
7.4.2 CommandListener
7.4.3 vold的main函数
第8章 Sensor
8.1 Sensor概述
8.2 SDK API概述
8.3 Sensor管理器
8.3.1 Sensor采样数据的获取与处理
8.3.2 SensorEventQueue
8.4 SensorService
8.4.1 逻辑传感器
8.4.2 物理传感器
8.4.3 Sensor HAL
第9章 RIL
9.1 RIL概述
9.2 rild守护进程
9.3 事件处理与分发线程
9.3.1 分发线程中的事件处理
9.3.2 RIL请求的接收与处理
9.3.3 RIL响应的回送
9.4 radiooptions工具程序
9.5 RILJ
9.5.1 RILJ概述
9.5.2 RILRequest的发送过程
9.5.3 Response的处理过程
第10章 com.android.phone进程
10.1 层次状态机StateMachine
10.2 GSMPhone
10.3 GsmCallTracker
10.3.1 GsmDataConnectionTracker
10.3.2 GsmServiceStateTracker
10.3.3 DefaultPhoneNotifier
10.3.4 其他
10.4 进程com.android.phone
第11章 Graphic
11.1 Graphic概述
11.2 Java层简介
11.2.1 SurfaceSession
11.2.2 Surface
11.2.3 SurfaceView
11.2.4 TextureView
11.3 JNI层简介
11.4 SKIA库简介
11.5 库libgui.so
11.5.1 概述
11.5.2 ComposerService
11.5.3 共享控制块surface_flinger_cblk_t
11.5.4 ISurfaceComposer
11.5.5 ScreenshotClient
11.5.6 SurfaceComposerClient
11.5.7 Surface
11.5.8 SurfaceControl
11.5.9 绘图操作的前后过程
11.5.10 SurfaceTexture Client
11.6 SurfaceFlinger进程
11.6.1 图层
11.6.2 DisplayHardware简介
11.6.3 HWComposer简介
11.6.4 VSync
11.7 库libui.so简介
11.7.1 GraphicBuffer
11.7.2 FramebufferNativeWindow
11.8 RenderScript简介
第12章 OpenGL ES软件层次栈
12.1 Android中的OpenGL ES简介
12.2 Android中OpenGL软件层次栈
12.3 包裹库与hook钩子
12.3.1 libGLESv1_CM.so包裹库
12.3.2 libGLESv2包裹库
12.3.3 libEGL包裹库
12.3.4 结构体egl_t和gl_hooks_t钩子
12.4 OpenGL实现库的加载和解析
12.4.1 加载和解析的发起
12.4.2 库装载器Loader
12.5 libGLES_android库和ETC1简介
第13章 Multimedia
13.1 Multimedia概述
13.2 API类简述
13.3 多媒体播放(playback)
13.3.1 播放流程
13.3.2 来自server侧的消息事件通知
13.4 多媒体录制(Recording)
13.5 元数据(MetaData)获取
13.6 Camera
13.6.1 Camera概述
13.6.2 CameraHardwareInterface与HAL层
13.7 Camera事件通知机制
第14章 Audio
14.1 Audio概述
14.2 Audio播放AudioTrack
14.2.1 共享控制块audio_track_cblk_t
14.2.2 数据的写入
14.2.3 事件的回送及处理
14.3 Auido录音Recording
14.3.1 录音的开始过程
14.3.2 录音的停止过程
14.4 AudioFlinger
14.4.1 AudioFlinger概述
14.4.2 Track相关类概述
14.4.3 AudioFlinger中的线程
14.5 音效Audio
^ 收 起
1.1 智能指针概述
1.2 引用计数基类RefBase
1.3 轻量级引用计数LightRefBase
1.4 强指针
1.4.1 强指针变量的初始化与生命周期
1.4.2 赋值操作与引用计数变化
1.5 弱指针
第2章 消息队列与线程处理
2.1 消息队列处理模型的设计
2.2 消息队列与线程处理的Java实现
2.2.1 Thread\/Runnable
2.2.2 Message
2.2.3 MessageQueue概述
2.2.4 Handler
2.2.5 Looper
2.2.6 再论Handler
2.2.7 对同步消息的支持
2.3 native层的Looper与消息队列处理
2.3.1 Looper中的睡眠等待与唤醒机制
2.3.2 Looper对文件描述符的监控与处理
2.3.3 Looper中的消息队列处理机制
2.3.4 Looper与线程执行上下文
第3章 Binder IPC及其应用
3.1 Binder IPC
3.1.1 Binder IPC与系统服务
3.1.2 Binder类结构与调用关系
3.1.3 模板函数interface_cast的背后
3.1.4 例子AudioPolicyService
3.2 Java层对Binder的封装
3.2.1 例子IMediaPlaybackService
3.2.2 例子PhoneStateListener
3.3 大内存块的跨进程共享
3.3.1 概述
3.3.2 调用接口
3.3.3 设备空间的映射
3.3.4 Server侧的处理
第4章 HAL硬件抽象层
4.1 HAL概述
4.2 硬件模块库的通用写法
4.3 硬件模块库的装载与解析
4.4 例子Lights
4.5 例子Camera
4.6 例子Power和Vibrator
第5章 Android的启动过程
5.1 Android初始化语言及解析
5.1.1 Action
5.1.2 触发器trigger
5.1.3 命令Command
5.1.4 服务Service
5.1.5 .rc文件的解析
5.2 BootChart
5.3 ueventd守护进程
5.4 init进程的启动过程
5.5 init.rc文件中的服务进程
5.6 system_server进程
5.6.1 app_process程序
5.6.2 system_server进程
第6章 输入系统
6.1 输入系统概述
6.2 读线程
6.2.1 EventHub
6.2.2 InputReader
6.2.3 InputDevice
6.2.4 InputMapper
6.2.5 QueuedInputListener
6.3 分发线程
6.3.1 InputDispatcher
6.3.2 InputChannel
6.4 输入系统的开启
第7章 MassStorage
7.1 MassStorage概述
7.2 MountService
7.3 库libsysutils.so
7.3.1 SocketListener
7.3.2 FrameworkListener
7.3.3 NetlinkListener
7.4 守护进程vold
7.4.1 NetlinkManager
7.4.2 CommandListener
7.4.3 vold的main函数
第8章 Sensor
8.1 Sensor概述
8.2 SDK API概述
8.3 Sensor管理器
8.3.1 Sensor采样数据的获取与处理
8.3.2 SensorEventQueue
8.4 SensorService
8.4.1 逻辑传感器
8.4.2 物理传感器
8.4.3 Sensor HAL
第9章 RIL
9.1 RIL概述
9.2 rild守护进程
9.3 事件处理与分发线程
9.3.1 分发线程中的事件处理
9.3.2 RIL请求的接收与处理
9.3.3 RIL响应的回送
9.4 radiooptions工具程序
9.5 RILJ
9.5.1 RILJ概述
9.5.2 RILRequest的发送过程
9.5.3 Response的处理过程
第10章 com.android.phone进程
10.1 层次状态机StateMachine
10.2 GSMPhone
10.3 GsmCallTracker
10.3.1 GsmDataConnectionTracker
10.3.2 GsmServiceStateTracker
10.3.3 DefaultPhoneNotifier
10.3.4 其他
10.4 进程com.android.phone
第11章 Graphic
11.1 Graphic概述
11.2 Java层简介
11.2.1 SurfaceSession
11.2.2 Surface
11.2.3 SurfaceView
11.2.4 TextureView
11.3 JNI层简介
11.4 SKIA库简介
11.5 库libgui.so
11.5.1 概述
11.5.2 ComposerService
11.5.3 共享控制块surface_flinger_cblk_t
11.5.4 ISurfaceComposer
11.5.5 ScreenshotClient
11.5.6 SurfaceComposerClient
11.5.7 Surface
11.5.8 SurfaceControl
11.5.9 绘图操作的前后过程
11.5.10 SurfaceTexture Client
11.6 SurfaceFlinger进程
11.6.1 图层
11.6.2 DisplayHardware简介
11.6.3 HWComposer简介
11.6.4 VSync
11.7 库libui.so简介
11.7.1 GraphicBuffer
11.7.2 FramebufferNativeWindow
11.8 RenderScript简介
第12章 OpenGL ES软件层次栈
12.1 Android中的OpenGL ES简介
12.2 Android中OpenGL软件层次栈
12.3 包裹库与hook钩子
12.3.1 libGLESv1_CM.so包裹库
12.3.2 libGLESv2包裹库
12.3.3 libEGL包裹库
12.3.4 结构体egl_t和gl_hooks_t钩子
12.4 OpenGL实现库的加载和解析
12.4.1 加载和解析的发起
12.4.2 库装载器Loader
12.5 libGLES_android库和ETC1简介
第13章 Multimedia
13.1 Multimedia概述
13.2 API类简述
13.3 多媒体播放(playback)
13.3.1 播放流程
13.3.2 来自server侧的消息事件通知
13.4 多媒体录制(Recording)
13.5 元数据(MetaData)获取
13.6 Camera
13.6.1 Camera概述
13.6.2 CameraHardwareInterface与HAL层
13.7 Camera事件通知机制
第14章 Audio
14.1 Audio概述
14.2 Audio播放AudioTrack
14.2.1 共享控制块audio_track_cblk_t
14.2.2 数据的写入
14.2.3 事件的回送及处理
14.3 Auido录音Recording
14.3.1 录音的开始过程
14.3.2 录音的停止过程
14.4 AudioFlinger
14.4.1 AudioFlinger概述
14.4.2 Track相关类概述
14.4.3 AudioFlinger中的线程
14.5 音效Audio
^ 收 起
杨长刚,2005年春毕业于西南交通大学计算机应用技术专业,获硕士学位;后进入手机行业从事Linux手机软件开发工作。目前在一家欧美企业从事Android方面的技术工作。作者官方博客:http://www.redwolf-blog.com/
《深入剖析Android系统》以Android Jelly Bean(4.1)的代码为蓝本,对Android的部分关键代码进行了注释分析,并辅以大量插图,讲述了Android大部分子系统中的模块和类的静态结构,让读者对Android系统的内部静态结构有着“类”粒度这一层级上的认识和了解。同时,也对关键类和函数的代码调用流程、运行时刻所位于的进程和线程上下文等动态运行场景进行了分析讲述,让读者深刻理解Android系统内部是如何运行的。本书直接对Source Insight进行截图,保留了代码的原始行号、英文注释等信息并进行了高亮显示,方便读者阅读;代码中同时添加了作者所做的中文注释说明。
比价列表
1人想要1人拥有
公众号、微信群
缺书网
微信公众号
微信公众号
扫码进群
实时获取购书优惠
实时获取购书优惠