ART和Dalvik的比较

       从Android 4.4开始就已经支持并且可选则的在运行时用ART替代Dalvik。
       ART(Android RunTime)是Dalvik的下一个版本,Dalvik运行时的是字节码,且虚拟机的用途就是用来运行Android系统的应用程序。
       ART有相较于Dalvik有两大特色:
  (1)超前编译(AOT:Ahead-of-Time),主要用于提升速度和减少内存(没有JIT,当然会减少相应的内存开销)。
  (2)提升了垃圾回收性能。
       AOT意味着我们的app被一次性的编译成本地代码(native code),这种本地代码存储在手机上,在运行时是执行的高效的本地代码而不是字节码。但是因为解释器很慢(解释字节码时),所以虚拟机开发者发明了一个新的技术叫做Just-in-Time(即JIT)编译,这种技术将我们的代码飞快的编译为native coed。Dalvik就是典型的JIT虚拟机,但是JIT虚拟机的缺点在于:JIT编译器运行于我们在使用app的时候,也就是说只要我们在使用app,那么就伴随着JIT编译器的运行(想想都觉得对内存的消耗够大了。。。),这也就增加了内存潜在的压力。不过JIT编译器的优势在于:JIT编译器可以考虑将你正在使用的代码进行优化。
       AOT和JIT类似,但是它只运行一次----当app在安装的时候运行一次。虽然AOT缺乏优化代码的能力,但是它缺可以通过较少的编译来执行更广泛的优化过的代码。自然地,在开机时ART会比Dalvik要慢,因为他编译系统一些apk需要时间,但是一旦运行起来,ART就会比Dalvik要快了。
       值得一提的是,虽然在4.4上已经放出ART,但是并不是默认的选择,可以到设置>开发者选项>选择运行时间>使用ART。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
>