码迷,mamicode.com
首页 > 移动开发 > 详细

Android DVM

时间:2015-08-06 22:07:15      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:

  1. Android运行环境主要指的虚拟机技术—Dalvik.
  2. Android中的所有Java才程序都是运行在Dalvik vm上的,Android上的每个程序都有自己的线程,DVM执行的是.dex的Dalvik excutable文件,每个Android应用有一个独立的DVM实例并在其解释下执行。每一个应用程序既是一个进程(Linux的一个process)。Android中Java程序通过编译后,还需要通过SDK中的dex工具转化为.dex格式。DVM再从中读取指令和数据。
  3. Jvm和DVM的区别:
  • DVM虽然也是用Java编程语言,Dalvik虚拟机和一般Java虚拟机并不兼容。
  • Jvm执行.class字节码文件,而DVM执行其专有的.dex文件。
  • Jvm是基于栈(Stack-based)的虚拟机,DVM是基于寄存器的虚拟机(Register-based),后者最大的好处在于可以根据硬件实现更大的优化,这更适合移动设备的特点,虽然通用性差了点外,但是代码的执行效率高。
  • 总之,DVM非常适合用于移动终端上,与pc相比,它不需要很快的CPU与大量的内存空间。
  • 将class文件转换成dex文件的原因,class文件中包含大量的陈余信息,dex文件格式会把所有的class文件内容整合到一个dex文件中减少整个文件尺寸和IO操作,也提高查找速度。文件结构简单,使用等长指令,借以提高解析速度,支持新的操作码。

 

Android DVM

标签:

原文地址:http://www.cnblogs.com/hupp/p/4709060.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!