深入剖析Android系统

深入剖析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
查看详情