您的位置:首页 > 其它

Dalvik Virtual Machine的用处和功能

2016-05-11 18:53 405 查看
通常呢,java文件需要JVM来执行。java可以免费用,但JVM不行。对此,Google采用了自己的Virtual Machine,即,Dalvik Virtual Machine(DVM)。

Virtual Machine

一、定义

①virtual machine:

VM就是一个操作系统,或者是安装在模拟专用硬件的软件上的应用程序环境。

②Android的转换进程:

java编译器将所有.java文件转换成.class文件,这些.class文件通过DX工具转换成一个.dex文件,然后这个.dex文件通过DVM转成机器码以便运行。

二、DVM的功能

在Android架构中,DVM位于Linux内核之上。

每个应用都作为一个进程运行,并且每个进程都有自己的DVM实例。

用户每次点击APP图标,上文提到的进程就会执行。

三、更新

在kitkat版本中,添加了一个实验性的进程ART(Android Runtime)作为DVM的可选项,但在Lolipop版本之后,Google就用ART替代了DVM。

ART比DVM快是因为ART采用了AOT(Ahead Of Time)方法。

ART只在应用的安装进程中执行应用程序代码,所以APP能运行得快。不像DVM,只在APP使用时才执行应用程序代码。

由于ART使用AOT方法,APP会占用更多的内存空间,和安装时间。

四、总结

DVM作用是将dex文件转为机器码;而ART采用AOT方法,在程序安装时就已经将.dex文件转为机器码了。所以所以Lolipop之后,Android应用程序不再需要虚拟机(DVM)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: