Porting

Android 应用保留 ART,还是更换为 Dalvik?

 

推出 Android L 后,虚拟机编译器将迁移至 ART (Android 运行时),而且仅迁移至面向 64 位的 ART。 ART 与 Dalvik 之间相比如何,这对于应用代码而言又意味着什么?

ART 是 AOT(提前)编译器,这表示 dex2oat 在应用初始安装过程中运行一次。 Dalvik 是 JIT(实时)编译器,仅在调用时运行。  为了获得更长的应用安装时间,ART 仅在调用应用之后释放处理器。  此外,新的垃圾回收程序和内存分配程序将减少暂停的次数和时间,这表示 ART 可提供更出色的响应能力并减少能耗。  但是请注意,运行时内存占用空间较少同样意味着编译二进制需要更高的存储。   ART 将配合 ARM、x86 和 MIPS 硬件一起使用,并在运行浮点运算时显示出极大的改进。

代码有何变化? ART 向后兼容,可以使用 Dex (Dalvik 可执行代码)字节代码格式。 因此,多数应用可以直接运行(甚至性能更高)。 

但是,您需要确认几项内容并采用一些可用的优化:

Suscribirse a Porting