Dalvik Virtual Machine的用处和功能

通常呢,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)。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值