Dalvik虚拟机工作原理介绍

移动开发 Android
Dalvik虚拟机非常适合在移动终端上使用,相对于在桌面系统和服务器系统运行的虚拟机而言,它不需要很快的CPU速度和大量的内存空间。

Dalvik虚拟机并没有使用目前流行的虚拟机技术,如JIT,但是根据Google的报告,这个功能的缺失并没有令Dalvik虚拟机在性能上有所损失。我们也同时相信,Dalvik虚拟机的性能还有进一步提高的空间。 

根据 Google的测算,64M的RAM已经能够令系统正常运转了。其中24M被用于底层系统的初始化和启动,另外20M被用于高层启动高层服务。当然,随着系统服务的增多和应用功能的扩展,其所消耗的内存也势必越来越大,归纳起来,Dalvik虚拟机有如下几个主要特征:

 DEX是Dalvik虚拟机专用的文件格式,而为什么弃用已有的字节码文件(CLASS文件)而采用新的格式呢? 一个应用中会定义很多类。编译完成后即会有很多相应的CLASS文件,CLASS文件间会有不少冗余的信息;

而DEX文件格式会把所有的CLASS文件内容整合到一个文件中。这样,除了减少整体的文件尺寸,I/O操作,也提高了类的查找速度。 原来每个类文件中的常量池,在DEX文件中由一个常量池来管理,具体方式如下图:

 增加了新的操作码的支持文件结构尽量简洁,使用等长的指令,借以提高解析速度 尽量扩大只读结构的大小,借以提高跨进程的数据共享如何生成DEX文件呢?Android系统和Dalvik虚拟机提供了工具(DX),在把Java源代码编译成CLASS文件后,使用DX工具。

【编辑推荐】

  1. Android应用程序组建原理深入剖析
  2. Android SMS短信服务相关概念简述
  3. PythonAndroid数据库相关代码解读
  4. PythonAndroid安装卸载程序具体操作方法解析
  5. Android应用程序的四个关键点
责任编辑:chenqingxiang 来源: 博客园
相关推荐

2010-03-04 09:35:21

Android虚拟机

2010-02-06 17:32:43

Dalvik虚拟机

2010-02-06 17:54:40

Dalvik虚拟机

2010-02-04 10:05:28

Dalvik虚拟机

2010-02-05 13:44:36

Dalvik虚拟机

2023-02-20 14:24:56

AndroidDalvikART

2011-05-03 16:50:08

激光打印机工作原理

2020-04-05 11:01:03

虚拟机备份组网

2019-10-29 11:14:59

Vmware虚拟机NAT

2010-03-19 10:56:32

交换机工作原理

2013-06-06 10:11:36

交换机技术交换机生成树

2010-02-04 10:10:34

Dalvik虚拟机

2010-03-11 10:05:21

服务器交换机

2011-05-07 17:06:21

热升华打印机工作原理应用

2010-03-18 11:16:24

全光交换机

2010-03-16 13:20:25

智能交换机

2013-11-11 15:31:32

虚拟机Android Run

2010-03-22 11:02:27

千兆以太网交换机

2010-03-19 09:04:50

Cisco 1800交

2013-01-17 11:05:42

点赞
收藏

51CTO技术栈公众号