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