1、Android Dalvik虚拟机结构及机制剖析一第1卷Dalvik虚拟机结构剖析张国印吴艳霞编著清华大学出版社北京前随着移动互联网的不断发展,业务移动化已逐渐被人们接受,移动电子商务、移动办公、移动生活越发深入人心。作为目前市场占有率最高的Android操作系统,当之无愧受到广大程序开发人员的青睐。Android是由Google公司基于移动设备而开发的嵌入式系统,具有优良的性能表现以及较低的硬件配置需求,因此使其迅速成为目前移动终端之上的主流操作系统。这种优势的体现主要得益于Google对作为Android系统基石的Dalvik虚拟机所做出的大量优化。对于高阶程序开发人员来说,要想让自己开发
2、的应用程序在数十万应用程序中脱颖而出,就必须掌握整个Android系统运行时环境,这其中最为关键的就是Dalvik虚拟机。本书详细地介绍了Dak虚拟机的结构及其运行机制,尤其针对类数据加载、内存管理、本地方法、反射机制、解释器、即时编译等关键功能模块的设计原理、功能架构以及执行流程进行了介绍,并结合关键代码加以细致讲解。力求让读者了解Dlvk虚拟机是如何在底层对Android应用程序进行解释执行,并可以结合Dalvik虚拟机技术特性对自己的应用程序加以优化改进,以达到进一步提高应用程序安全性、稳定性、高效性的目的。全书共分为6章:第1章为准备工作,主要介绍Dalk虚拟机的定义以及它的功用,分析
3、Dalvik源码所用到的主要方法以及如何搭建Davk源码分析环境。第2章为源码分析辅助工具介绍,主要介绍一些辅助源码分析的工具,包括Vim、Doxygen、GDBSERVER,并介绍了其使用的方法,为后期的阅读和分析打下基础。第3章为Dex文件以及Dalvik字节码格式分析,主要介绍Dex文件中所涉及的各个数据结构以及相关函数的具体定义,并结合一个Dx文件实例对原理内容进行讲解。同时还对Davk字节码进行了全面的介绍,主要包括字节码设计、字节码格式等内容。另外,在这章的最后还对Dex文件的优化产物Odex文件功能原理与实际应用进行了简单的介绍,为后续进一步深入讨论Dx文件的优化机制做好相关准备
4、。第4章为系统工具介绍,主要介绍Davk虚拟机的一些重要系统工具,这些工具主要应用于Dex文件优化,封装的apk文件进行或对Dex进行反编译,调试分析Android程序源码内存泄漏问题,分析Android程序运行过程中生成的trace文件等。通过对系统工具的介绍,让读者更清楚虚拟机内部的实现机制。第5章为Dalvik虚拟机执行流程简述,主要介绍Dalvik虚拟机的整体执行流程以及各个模块所扮演的功能角色。通过这一章的介绍,旨在让读者对Dak虚拟机的整体功能架构有一个宏观的认识,为后续进一步掌握各个功能模块的原理功能做好相应的知识铺垫。第6章为调试支撑模块,主要介绍调试支撑模块的基本原理,随后,着重介绍DDM协