浅析Android ART模式到底好不好

时间:2021-05-23

  ART 模式原理浅析:

  众所周知,Android 是一种基于 Linux 的自由及开放源代码的操作系统,因为自身的开源性质,Android 系统必然运用于多种设备之上,那么设备以及版本的碎片化必然阻碍应用的编译,为了解决这个问题,Android 在系统底层上边构建了 Dalvik 虚拟机,再配合 Android 应用开发所使用的 Java 语言,采用谷歌所提供的 SDK(软件开发工具包),开发者即可快速开发 Android 应用。这样的做法在 Android 早期,能够利用 Java 平台的广泛性和易用性,短期内实现应用数量的快速增加,但是这样的做法也有着不少弊端,其中程序运行效率低下是典型问题,Dalvik 运行环境使用 JIT(Just-In-Time)来进行转译,应用每次运行的时候,字节码都需要通过 JIT 转换为机器码,才能被设备所识别运行,但这会拖慢应用的运行效率,对用户的实际体验造成了不小的影响。因此这也是 Android 用户一直所抱怨的:如此强大的硬件条件却不能流畅运行应用。而到了 ART 模式之中,ART 则是使用 AOT(Ahead-Of-Time)进行处理,并会在应用程序安装完毕时进行预先的基础性编译作业,从而减去了 JIT 运行时的机器码转化时间,应用的启动和执行都会变得更加快速。


  ART 模式的优势:

  更好的应用体验。正如上文所提到 ART 采用 AOT 编译,系统将采用 dex2oat 将安装包中的文件直接编译为机器可执行的二进制指令,因此对于消费者而言,最大的而有时莫过于带来更好的手机应用体验,无论是启动速度还是加载速度,抑或是各类反馈都能得到提升,使得实际用户体验有所提升。根据小编使用 Nexus4 实测,不少应用启动速度都能用稍许的提速,而在基准测试之中, ART 模式和 Dalvik 模式的差距则进一步显现。

  除了在具体应用上的表现外,ART 模式的引入也实现了 Android 性能的提升。根据 Google i/o 大会期间一张官方幻灯片显示:ART 模式相比较 Dalvik 模式能够实现 80% 的提升,最多的时候能够达到 1.5 倍。而在实际体验过程中,小编也能够感受到这系统性能额提升,更加流畅的过场动画,更加跟手的操作体验,这一切于广大 Android 用户来说不得不说是莫大的好消息。


  更加给力的续航。因为在应用编译、内存回收上的进步,ART 模式的引入还使得 Android 系统在续航方面有了一定的进步,根据小编的实际体验,虽然优势不大,但 5% 左右的电量还是能够节省出的。

  ART 模式的劣势:

  虽然 ART 模式在提升系统性能,优化应用运行效率,减少系统耗电方面有着不少贡献,但是就目前而言 ART 模式也并非是完美无瑕。

  应用兼容性。这个问题应该是 ART 模式给各个应用开发者带来的最大困扰,不少软件都存在闪退不兼容的想象,包括常用的微信、支付宝等,手机游戏方面不兼容现象更加突出,一些发烧友所热爱的 X posed 框架也无法使用,尽管对绝大多数开发者而言,并不需要重新配适 ART 模式,因为安装包里所包含的仍然是 Dex 文件,Dex 文件编译为二进制文件的工作是由系统工具所完成,但是优化 ART 模式下的表现还是值得各位开发者所注意的。另外,除了不兼容之外,小编还遇到一个很费解的问题:部分应用在 ART 模式反而更加卡顿,并且这一部分应用大都来自国内各类应用商店,而非 Google play。

  应用安装时间增加。因为在应用安装时便进行了 AOT 编译,所以这个过程必然会产生额外的时间,尤其是当下各种应用体积庞大,一个手电筒都能做到 20M,这无形中都增加了安装时所耗费的时间,这对于不太方便使用 Google play,各大厂商自建的应用商店又实在提不上手的国内用户也算是个不大不小的考验,各类第三方应用商店逐个安装,相信对各位的耐心也是个不小的考验

  存储空间的占用。因为安装时就进行了编译,必然在文件体积上有所增加,通过与 Dalvik 模式的对比,ART 模式下的各类应用实际占用存储空间均有了 20% 左右的上涨,这对于多为 16G 的 Android 设备而言可不是什么好消息。(左边为 Dalvik 模式,右边为 ART 模式)


  
  尽管还存在一些问题,但是小编还是乐于见到 ART 模式成为新 Android 版本中的默认模式,ART 模式作为 Google 近年来不断改善 Android 流畅性的有力举措,是改善 Android 设备高配低能的必然选择,虽然是「用手机空间换用户时间」,但是总体来看还是值得的。不过最后,小编还得提一句,Google 做的再好,把 ART 模式再完善,也需要各个软件开发商和手机厂商的配合,特别是很多国内应用开发商和厂商,不遵守 Android Design 规范和系统升级缓慢,应用质量不高,系统版本老久,这些都会影响 ART 模式的用户体验。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章