首页 > 移动平台 > 详细

Android DVM

时间:2015-08-06 22:04:17      阅读:515      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!