标签
内容简介
本书由钟世礼编著,人民邮电出版社2016年出版,全书约595页,以Android系统源码为线索,系统讲解Dalvik VM与ART两代Android虚拟机的内部机制。全书按“先搭环境、再打基础、后拆内核”的顺序展开:开篇介绍如何在Linux与Windows平台获取并编译Android源码,包括内置Linux内核源码的编译;随后回顾Java虚拟机基础,涵盖JVM体系结构、安全模型与沙箱机制、运行时数据区域、对象访问与垃圾收集策略、Java内存模型等,为理解Dalvik作铺垫。第3章起进入正题,先对比Dalvik与JVM的差异、归纳Dalvik的主要特征与代码结构,并介绍dx工具、dvvm控制命令及ART模式基础;接着依次分析JNI机制、内存系统、Android程序生命周期管理与IPC进程通信、init进程,以及Dalvik VM的进程系统与运作流程。中段重点解析DEX文件格式、Dalvik VM内存系统、垃圾收集机制与内存优化机制,并跟踪其启动过程、注册虚拟机与创建线程、异常处理以及JIT编译;后段转向性能优化,并剖析ART的启动过程、执行ART主程序,以及在Dalvik与ART环境下安装APK应用程序的差异。
编辑推荐
市面上讲Android应用层的书很多,真正下沉到虚拟机这一层的却少。本书的价值在于它把Dalvik VM和ART当作一条主线,从源码获取与编译一路走到DEX解析、内存系统、垃圾收集、JIT与ART启动,几乎覆盖了Android虚拟机的主要知识点,路线完整,前后逻辑衔接自然。作者采用由浅入深的写法,概念先行、源码随后,每讲一个机制都尽量给出进程与运作流程,而不是孤立罗列代码片段,对没有系统学过虚拟机的读者也算友好。第24章专门对比在Dalvik与ART环境下安装APK的差异,恰是理解两代运行时演进的关键,这类细节在同类书中并不多见。需要提醒的是,本书写作于2016年前后,源码版本以当时的Android为主,之后Android运行时又历经多轮演进,读者宜把它当作理解Dalvik/ART经典机制的底本,配合较新的AOSP源码对照阅读。
适合谁读
适合
- 想从应用层转入Android底层与源码分析的开发者
- 需要系统理解Dalvik/ART运行时机制的工程师
- 做性能优化、内存问题排查与崩溃分析的技术人员
- 高校计算机、移动开发方向师生及培训机构教材使用者
不适合
- 完全没有Java和C/C++基础、只想学做App界面的入门者
- 只关注Jetpack、Compose等现代应用框架的读者
- 期待覆盖Android最新运行时(如后续新版ART)的读者
阅读建议
- 先读第2、3章打好JVM与Dalvik/ART的差异认知,再进入源码级章节,避免一上来被细节淹没。
- 第1章的源码编译环节动手做一遍,后续章节的调用链才有可对照的实际代码。
- 按“进程与启动—DEX与内存—垃圾收集与优化—ART”四条线程做笔记,把分散章节串成一张运行时地图。
- 结合较新AOSP源码对照阅读,留意书中结论在后续版本中的变化,并配合自行编写小实验验证。
出版社简介
人民邮电出版社
中国 · 成立于 1953 年
人民邮电出版社以科技、计算机与信息通信类图书见长,并由此延伸至摄影、艺术、软件学习与励志成长等门类,形成较为多元的出版方向。库内图书既涵盖《重构与模式(修订版)》《华为交换机学习指南(第二版)》等计算机与通信技术读物,也收录《小王子(中英法彩绘典藏纪念版)》《了不起的盖茨比》《假如给我三天光明》等双语典藏类作品;《北京十年:1980-1990》与《鬼刀 WLOP个人插画作品集》则体现其在摄影与艺术领域的布局。作者资源包括安东尼·圣埃克苏佩里、海伦·凯勒、Joshua Kerievsky、王达、张兆增与WLOP等。
目录
- 前言
- 第1章 获取并编译Android源码
- 第2章 Java虚拟机基础
- 第3章 Dalvik和ART基础
- 第4章 分析JNI
- 第5章 分析内存系统
- 第6章 Android程序的生命周期管理
- 第7章 IPC进程通信机制
- 第8章 init进程详解
- 第9章 Dalvik VM的进程系统
- 第10章 Dalvik VM运作流程详解
- 第11章 DEX文件详解
- 第12章 Dalvik VM内存系统详解
- 第13章 Dalvik VM垃圾收集机制
- 第14章 Dalvik VM内存优化机制详解
- 第15章 分析Dalvik VM的启动过程
- 第16章 注册Dalvik VM并创建线程
- 第17章 Dalvik VM异常处理详解
- 第18章 JIT编译
- 第19章 Dalvik VM内存优化
- 第20章 Dalvik VM性能优化
- 第21章 分析ART的启动过程
- 第22章 执行ART主程序
- 第23章 安装APK应用程序
- 第24章 ART环境安装APK应用程序
常见问题
这本书讲的是Dalvik还是ART?
两者都讲。全书以Dalvik VM为主线,用约二十章分析其进程系统、运作流程、DEX文件、内存系统、垃圾收集、启动过程、异常处理与JIT等,最后四章转向ART的启动、主程序执行及两种环境下安装APK的差异。
书中的源码分析会在哪个Android版本上更准确?
本书2016年出版,内容基于成书时期的Android源码,并提到Windows获取Android L源码。越接近该书写作年份的AOSP版本越容易对上,之后的版本中运行时已有较多演进,需要自行辨别差异。
零基础能读懂这本书吗?
不太适合完全零基础者。书中涉及JNI、C/C++与大量系统源码调用链,建议先具备Java基础、了解Linux与基本的操作系统概念,再读第2章Java虚拟机基础,然后进入后续章节。
这本书页数和价格大概是多少?
据图书馆书目与书店信息,全书595页、16开,2016年出版时的定价为99元。具体售价会随渠道与新旧程度变化,购买前建议核实。
读者评论
查询本书
本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。
作者简介
钟世礼
作者
钟世礼,目前公开资料有限,其相关背景信息尚未见到系统披露。从库内收录情况看,钟世礼有作品《深入解析Android 虚拟机》一种,分类归入编程设计。该书围绕 Android 虚拟机展开深入解析,属于面向开发者的技术类读物,题材集中在移动操作系统底层机制与程序运行原理方面。就写作取向而言,这类作品通常强调原理剖析与实现细节的结合,服务于希望理解 Android 运行环境的技术读者。由于作者生平资料较少,暂无法补充其教育背景、从业经历或其它著作信息;读者可将其视为一位在 Android 技术领域进行专题写作的作者,通过该书了解相关底层知识。