图解Dalvik虚拟机相关配置

移动开发 Android
Android运行库包括两部分:核心库和Dalvik虚拟机。核心库包括了最基本的类库,如data structure, network, Utilities, File system等。

 Google于2007年底正式发布了Android SDK, 作为 Android系统的重要特性,Dalvik虚拟机也***次进入了人们的视野。它对内存的高效使用,和在低速CPU上表现出的高性能,确实令人刮目相看。依赖于底层Posix兼容的操作系统,它可以简单的完成进程隔离和线程管理。

每一个Android应用在底层都会对应一个独立的Dalvik虚拟机实例,其代码在虚拟机的解释下得以执行。很多人认为Dalvik虚拟机是一个Java虚拟机。因为Android的编程语言恰恰就是Java语言。但是这种说法并不准确,因为Dalvik虚拟机并不是按照Java虚拟机的规范来实现的,两者并不兼容;同时还有两个明显的不同:

Java虚拟机运行的是Java字节码,而Dalvik虚拟机运行的则是其专有的文件格式DEX(Dalvik Executable)。
在Java SE程序中的Java类会被编译成一个或者多个字节码文件(.class)然后打包到JAR文件。

而后Java虚拟机会从相应的CLASS文件和JAR文件中获取相应的字节码;Android应用虽然也是使用Java语言进行编程,但是在编译成CLASS文件后。还会通过一个工具(dx)将应用所有的 CLASS文件转换成一个DEX文件,而后Dalvik虚拟机会从其中读取指令和数据。

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

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

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

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

【编辑推荐】

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

2010-02-04 10:05:28

Dalvik虚拟机

2010-02-06 17:54:40

Dalvik虚拟机

2023-02-20 14:24:56

AndroidDalvikART

2009-10-16 13:24:53

2010-02-04 10:10:34

Dalvik虚拟机

2010-02-06 17:36:58

Dalvik虚拟机

2009-08-07 11:16:28

2013-11-11 15:31:32

虚拟机Android Run

2010-02-05 13:44:36

Dalvik虚拟机

2009-09-25 13:42:04

Hyper-V虚拟机

2009-09-04 08:42:02

2012-05-18 10:22:23

2013-01-17 11:00:46

2013-07-17 09:32:58

2010-07-26 09:02:38

2009-08-14 13:18:41

配置linux虚拟机s

2010-06-11 14:50:48

虚拟机安装openSU

2010-12-27 14:11:55

虚拟机配置CPU

2009-08-14 13:30:44

配置linux虚拟机s

2013-10-17 09:50:43

vSphere cli虚拟机光驱
点赞
收藏

51CTO技术栈公众号