深入理解Android内核设计思想-基于Android 4.3以上版本
- ISBN:9787115348418
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:687
- 出版时间:2014-05-01
- 条形码:9787115348418 ; 978-7-115-34841-8
本书特色
《深入理解android内核设计思想》适用于android 4.3以上的版本。全书从操作系统的基础知识入手,全面剖析进程/线程、内存管理、binder机制、gui显示系统、多媒体管理、输入系统等核心技术在android中的实现原理。书中讲述的知识点大部分来源于工程项目研发,因而具有较强的实用性,希望可以让读者“知其然,更知其所以然”。全书分为编译篇、系统原理篇、应用原理篇、系统工具篇共4篇22章,基本涵盖了参与android开发所需具备的知识,并通过大量图片与实例来引导读者学习,以求尽量在源代码分析外为读者提供更易于理解的思维方式。 《深入理解android内核设计思想》既适合android系统工程师,也适合于应用开发工程师来阅读提升android开发能力。读者可以在《深入理解android内核设计思想》潜移默化的学习过程中更深刻地理解android系统,并将所学知识自然地应用到实际开发难题的解决中。
内容简介
4次重大改版,10余次修订,历史3年完成 基于android sdk*新版本 全面剖析了进程/线程、内存管理、binder机制、gui显示系统、多媒体管理、输入系统等核心知识在android中的实现原理 通过大量图片与实例来引导读者学习,以求尽量在源码分析外,为读者提供更易于理解的思维路径 由浅入深,由总体框架再到细节实现,让读者尽快了解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 计算机体系结构(computer architecture)
4.1.1 冯?诺依曼结构
4.1.2 哈佛结构
4.2 什么是操作系统
4.3 进程间通信的经典实现
4.3.1 共享内存(shared memory)
4.3.2 管道(pipe)
4.3.3 unix domain socket
4.3.4 rpc(remoteprocedure calls)
4.4 同步机制的经典实现
4.4.1 信号量(semaphore)
4.4.2 mutex
4.4.3 管程(monitor)
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 虚拟内存(virtual memory)
4.6.2 内存保护(memory protection)
4.6.3 内存分配与回收
4.6.4 进程间通信——mmap
4.7 android中的low memory killer
4.8 android匿名共享内存(anonymous shared memory)
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 framebuffernativewindow
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 handlemessagetransaction
9.7.4 “界面已经过时/无效,需要重新绘制”——handlemessageinvalidate
9.7.5 合成前的准备工作——precomposition
9.7.6 可见区域——rebuildlayerstacks
9.7.7 为“c
作者简介
林学森,香港中文大学计算机硕士,曾于多家跨国企业担任研发和管理工作,并已在国内外会议、杂志上发表多篇一作文章。现为某行业知名企业Android软件创始人、负责人。有丰富的技术研发与项目管理经验,擅长操作系统架构设计与内核分析。
-
全图解零基础word excel ppt 应用教程
¥15.6¥48.0 -
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
硅谷之火-人与计算机的未来
¥12.7¥39.8 -
机器学习
¥59.4¥108.0 -
情感计算
¥66.8¥89.0 -
LINUX企业运维实战(REDIS+ZABBIX+NGINX+PROMETHEUS+GRAFANA+LNMP)
¥48.3¥69.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
LINUX实战——从入门到精通
¥48.3¥69.0 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
数据驱动的工业人工智能:建模方法与应用
¥68.3¥99.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥76.3¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
UN NX 12.0多轴数控编程案例教程
¥24.3¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
Go 语言运维开发 : Kubernetes 项目实战
¥38.7¥79.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥84.5¥119.0