Apk 保重的dex 文件是what?
dex dalvix executable
如果要解释清楚什么是ART模式,我们就需要从Android系统的应用编译模式说起,我们都知道Android系统是以
Linux系统为底层构建的,Android系统是开源(源代码公开)的,Android系统势必会适配到不同硬件配置的设备上,因此谷歌为了降低应用的开发难度在Linux底层之上构筑了一个名为“Dalvik”的
虚拟机。
因为Dalvik虚拟机的存在,Android系统的开发者只需使用谷歌提供的SDK(软件开发工具包)即可较为轻松的按照一套“规则”创建APP,不用顾忌硬件、驱动等问题,在每次执行应用的时候Dalvik虚拟机都会将程序的语言由高级语言编译为
机器语言,这样当前设备才能够运行这一应用。
有的朋友可能注意到了,笔者特意强调了“每次”二字,以往的Android系统为了兼容性做出了妥协,在每次运行应用时都需要一次编译,这样程序的执行效率大大下降。同时也是为什么安兔兔为了照顾体验方面的得分在4.0版本之后特意加入了Dalvik虚拟机一项,如果该项得分越高证明该机的软件执行效率越高,在使用时的实际体验就会更加流畅、顺滑。
ART模式与Dalvik模式最大的不同在于,在启用ART模式后,系统在安装应用的时候会进行一次预编译,在安装应用程序时会先将代码转换为机器语言存储在本地,这样在运行程序时就不会每次都进行一次编译了,执行效率也大大提升。
从这方面来看,ART模式确实能够改善Android平台一直以来在兼容性方面的妥协,但另一方面,应用经过预编译后的容量,以及应用是否兼容该模式也是需要重点考虑的问题。