深度解析Dalvik虚拟机性能

移动开发 Android
Dalvik虚拟机是Google等厂商合作开发的Android移动设备平台的核心组成部分之一,可以支持已转换为.dex(即Dalvik Executable)格式.

随着时代的进步科技的发展Dalvik虚拟机的版本也快速的提升与升级,下面我就对升级前和升级后的Dalvik虚拟机系统 ,做一下自己的解析Android作为新一代的基于Linux的开源手机操作系统,其系统架构由下而上可以分为以下几部分:
◆Linux内核
◆本地库
◆Android运行库
◆应用框架 应用

开源手机操作系统

 如图所示,Android运行库包括两部分:核心库和Dalvik虚拟机。核心库包括了最基本的类库,如data structure, network, Utilities, File system等的。很多实现代码都是来自Apache Harmony 项目,主要目的是保证虚拟机的类库能够和Java SE的类库最大可能的兼容。

从而降低应用开发者从Java SE阵营转移到Android开发阵营的难度,增加其可用性。Dalvik虚拟机主要是完成对象生命周期的管理,堆栈的管理,线程管理,安全和异常的管理,以及垃圾回收等等重要功能。

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

64M的RAM已经能够令系统正常运转了。其中24M被用于底层系统的初始化和启动,另外20M被用于高层启动高层服务。当然,随着系统服务的增多和应用功能的扩展,其所消耗的内存也势必越来越大。#t#

归纳起来,Dalvik虚拟机有如下几个主要特征:

1.一个应用中会定义很多类,编译完成后即会有很多相应的CLASS文件,CLASS文件间会有不少冗余的信息;而DEX文件格式会把所有的CLASS文件内容整合到一个文件中。这样,除了减少整体的文件尺寸,I/O操作,也提高了类的查找速度。

2.增加了新的操作码的支持

3.文件结构尽量简洁,使用等长的指令,借以提高解析速度

4. 尽量扩大只读结构的大小,借以提高跨进程的数据共享如何生成DEX文件呢?Android系统和Dalvik虚拟机提供了工具(DX),在把Java源代码编译成CLASS文件后,使用DX工具。

责任编辑:chenqingxiang 来源: 51CTO.com
相关推荐

2010-02-06 17:32:43

Dalvik虚拟机

2010-02-06 17:54:40

Dalvik虚拟机

2023-02-20 14:24:56

AndroidDalvikART

2010-02-04 10:10:34

Dalvik虚拟机

2010-02-06 17:36:58

Dalvik虚拟机

2013-11-11 15:31:32

虚拟机Android Run

2010-02-05 13:44:36

Dalvik虚拟机

2014-01-13 09:47:35

虚拟机

2012-05-18 10:22:23

2010-07-26 09:02:38

2012-09-27 11:59:21

虚拟机华为

2017-08-15 15:36:41

VMwareLinux虚拟机

2023-08-13 16:49:54

2012-03-05 11:09:01

JavaClass

2012-09-28 09:39:27

华为

2023-11-27 00:46:39

裸机虚拟机

2016-10-12 15:05:28

虚拟机性能虚拟机密度虚拟机成本

2012-09-28 11:22:28

华为虚拟机性能

2009-01-05 19:07:03

服务器虚拟化虚拟机

2013-07-17 09:32:58

点赞
收藏

51CTO技术栈公众号