Android系统中的运行时ART和Dalvik有什么区别

如题所述


Android系统中的运行时ART和Dalvik有什么区别?
Android系统作为全球最受欢迎的移动操作系统之一,已经成为手机和平板电脑市场的主导者。Android系统的优势之一是其良好的兼容性和可定制性,并提供了多种运行时环境,如Dalvik和ART。在这两种运行时环境之间,有什么区别呢?
Dalvik和ART
在Android系统中,Dalvik和ART是两种不同的运行时环境。Dalvik运行时是Android系统中早期版本的默认运行时,而ART则从Android4.4版本开始作为默认运行时环境。两者的区别在于它们对代码的处理方式。
Dalvik使用JIT(即时编译)技术,在应用程序运行时将应用程序的代码编译成Dalvik字节码,并将其存储在设备的内存中。当应用程序需要执行这些代码时,Dalvik会将其转换为本机代码,以便更快地执行。这种方法在处理大量代码时效率较低,因为每次应用程序执行时都需要重新编译。
ART则使用AOT(预编译)技术,在应用程序安装期间将应用程序的代码预先编译成本机代码,并将其存储在设备的内存中。这样,当应用程序需要执行代码时,它可以直接执行本机代码,而无需在运行时进行编译。这种处理方式更快,并且可以提高应用程序的性能。
区别
因为ART使用先前预编译的本机代码,所以它的启动时间比Dalvik快,尤其是在多任务环境下,例如不停地切换应用程序时。此外,ART的应用程序运行速度也更快,因为它不需要在运行时编译代码,而是可以直接执行本机代码。
然而,由于ART的预编译过程需要花费更多时间,因此在应用程序安装时,需要更长的等待时间。此外,ART需要更多的设备存储空间,因为它需要存储预编译的本机代码。
结论
总而言之,在Android系统中,ART和Dalvik之间的主要区别在于它们对应用程序代码的处理方式。尽管ART需要更长的等待时间和更多的设备存储空间,但它的应用程序运行速度确实比Dalvik更快。因此,Android系统用户可以根据自己的使用需求选择ART或Dalvik之一。
温馨提示:答案为网友推荐,仅供参考
相似回答