Android runtime




ART 的机制与 Dalvik 不同。在Dalvik下,应用每次运行的时候,字节码都需要通过即时编译器转换为机器码,这会拖慢应用的运行效率,而在ART 环境中,应用在第一次安装的时候,字节码就会预先编译成机器码,使其成为真正的本地应用。这个过程叫做预编译(AOT,Ahead-Of-Time)。这样的话,应用的启动(首次)和执行都会变得更加快速。

中文名

Android运行环境ART

外文名

Android Runtime






1原理讲解编辑

与 iOS 相比,Android 的用户体验有个相对糟糕的开始。在很长的时间里,界面一直丑小鸭,卡顿也是挥不去的痛。不过,在 Google 的全力推动,以及硬件厂商的响应下,Android 还是跨越各种阻碍,逐渐壮大起来了[1] 。

在此过程中,Google 也在经历着重大的变化。它逐渐从一个只重视数据的公司,转变为一个重视设计和用户体验的公司。从 Android 4.0 开始,Android 拥有了自己的设计语言和应用设计指导。与此同时,Google 也在着手解决卡顿问题。Android 4.1 的“黄油计划”使系统和应用运行都更加顺畅,而 Android 4.2 的“Project Svelte”提升了内存管理,使得系统能够顺利运行在硬件配置低端的设备上。

但是,所有这些都没有解决核心问题,那就是应用运行环境。Dalvik VM 效率并不是最高的。从 Android 4.4 开始,Google 开发者引进了新的 Android 运行环境 ART(意思就是 Android Runtime。Android 官方页面的介绍中,也将其称作新的虚拟机),以替代旧的 Dalvik VM。它是实验选项,系统默认的运行环境仍然是 Dalvik。ART 会为 Android 带来怎样的改变?AndroidPolice 网站对此进行了分析。

根据一些基准测试,新的运行环境能够使大多数应用的执行时间减半。这意味着,CPU 消耗大、运行时间长的应用能够更加快速地完成,而一般的应用也能更加流畅,比如动画效果更顺畅,触控反馈更加即时。在多核处理器的设备上,多数情况下只需 激活少量的核心,或者能够更好的利用 ARM 的 big.LITTLE 架构。另外,它将会显著提升电池的续航能力以及系统的性能。

预编译也会带来一些缺点。一方面,机器码占用的存储空间更大。字节码变为机器码之后,可能会增加 10%-20%,不过在应用包中,可执行的代码常常只是一部分。比如最新的 Google+ APK 是 28.3 MB,但是代码只有 6.9 MB。另一方面,应用的安装时间会变长。至于延长多少时间,取决于应用本身,一些复杂的应用如 Facebook 和 Google+ 会让你等待更长时间。

总的来说,ART 的优点还是远远超越其缺点的。毕竟,影响用户体验的要素中,电池续航和应用顺畅运行更为重要。在于2014 年 10 月 15 日发布的全新 Android 操作系统Android 5.0上,Dalvik彻底被ART取代了!

2最新消息编辑

Google 于 2014 年 10 月 15 日发布了全新 Android 操作系统Android 5.0。Android 5.0系统彻底从Dalvik转换到ART,为开发者和用户带来了有史以来最流畅的安卓![2] [1] 

  • 参考资料


一、ART模式是什么?

ART模式英文全称为:Android runtime,谷歌Android 4.4系统新增的一种应用运行模式,与传统的Dalvik模式不同,ART模式可以实现更为流畅的安卓系统体验,对于大家来说,只要明白ART模式可让系统体验更加流畅,不过只有在安卓4.4以上系统中采用此功能

如果你对ART模式原理感兴趣,不放接下来往下看。

在4.4系统之前,Android系统在Linux的底层下构筑Dalvik一层的虚拟机,通过其可以更好适应多样的硬件架构,开发者只需要按一套规则进行应用便可,无需因为不同的硬件架构而处理与底层的驱动关系,大大提高开发的效率。


ART模式原理图

不过提高了开发效率,但因为应用均是运行在Dalvik虚拟机中,因此应用程序每次运行的时候,一部分代码都需要重新进行编译,这过程需要消耗一定的时间和降低应用的执行效率,最明显的便是拖延了应用的启动时间和降低运行速度。谷歌在安卓4.4之前的系统中加多一层虚拟机的初衷,不但是为了加快应用的开发效率,更是为了适应Android诞生之初硬件多样性的问题。

不过最新的Android 4.4,谷歌准备利用新的模式去代替之前Dalvik虚拟机,那便是ART模式。ART模式便是Android Runtime,其能够令系统更加高效和省电,执行效率大大提高。

二、ART模式有什么用?

通过以上详细的ART模式介绍,相信大家对于ART模式的作用已经有所了解了,ART模式最大的作用就是提升了安卓系统流畅度,相比Dalvik模式中出现的耗电快、占用内存大、即使是旗舰机用久了也会卡顿严重等现象,ART模式中这种问题得到了很好的解决,通过在安装应用程序时,自动对程序进行代码预读取编译,让程序直接编译成机器语言,免去了Dalvik模式要时时转换代码,实现高效率、省电、占用更低的系统内存、手机运行流畅。

之前谷歌宣称,安卓4.4运行内存仅有512M RAM即可流畅运行,也就是所,一些老款低配机也可以流畅运行Android 4.4系统,从侧面也可以看出ART模式对于提升系统流畅度还是非常有帮助的。

三、ART模式其他问题

任务事物都有两面性,ART模式可以降低手机硬件配置要求,减少RAM内存依赖,不过在安卓4.4系统中,安装应用的时间比安卓4.4以下版本系统更长,这主要由于应用安装过程中需要先执行编码导致,并且安装应用更占存储空间(ROM)。


ART模式更占ROM存储空间

根据目前的测试,ART模式安装应用所占的ROM空间比Dalvik模式多了接近一倍,不过鉴于目前手机ROM存储空间越来越大,并且支持扩展,这些都不是什么问题。

另外值得一提的是,ART模式目前还存在一些兼容性问题,绝大多数硬件均可以正常运行运行,但也有部分应用会不兼容,会出现闪退现象。这主要是由于Android 4.4并未大规模普及,后期会逐渐得到普及优化。


ART模式兼容性还有待普及

文至于此,相信大家对于ART模式是什么已经有一个深度了解了,作为安卓4.4系统的一项模式,用户可以在安卓4.4系统的手机中自由切换传统Dalvik模式和ART模式,大大方便用户使用,概括的是ART模式可以大大提升安卓系统的流畅性。