谷歌在安卓4.4 中加入了一个ART模式,据说开启了这个模式之后,整个机器会流畅很多,但是也会导致一些应用不兼容。
ART模式是什么意思?有什么用?
在过去,安卓的应用程序由 Dalvik Java 虚拟机运行,Dalvik 依靠一个 Just-In-Time(JIT) 编译器去向硬件“解释” App 字节码,代码和硬件打交道时平白无故多出一个解释过程,显而易见,这种方式并不能直接调用底层的硬件,而是通过了一个中间介绍人来让 App 运行,这就是为什么搭载 Android 系统的手机相比 iPhone 来说耗电快,软件占内存大,卡顿严重。从而 Dalvik 被看作安卓运行效率低下的“毒瘤”。当然,Dalvik 虚拟机让应用能更容易在不同硬件和架构上运行,是安卓系统普及的功臣。
自 Android 4.4 开始,谷歌将逐渐用 ART 运行时替代 Dalvik。新的 ART 则完全改变了 Dalvik 这套做法,其处理应用程序执行的方式完全不同于 Dalvik,在应用安装时,ART 就直接把代码预编译成机器语言,这一机制叫 Ahead-Of-Time (AOT)编译。和 Dalvik 相比,经过 ART 编译后的应用从根本上省略了解释字节码这个过程,运行起来更有效率、耗电更少、占的内存也更低。当然,预编译也带来了两个问题,一个是应用占用的存储空间将会更大,另一个是这个过程也会让应用安装耗时更长。预编译的 App 体积会大一些,安装时间则要看 App 本身的复杂程度。不过,App 的安装过程只有一次,相信大部分人是能忍受这个时间的。
所以简单一点说,ART模式就是越过虚拟机直接运行在硬件上的模式,这种模式打开之后可以大大地节省内存占用和电力消耗等等。