当前位置:首页 » 安卓系统 » androiddalvik

androiddalvik

发布时间: 2025-07-12 10:08:50

① 说一说Android的Dalvik,ART与JIT,AOT

Dalvik、ART、JIT与AOT的概述如下

  • Dalvik

    • 定义:Dalvik是Android系统初期使用的Java虚拟机,负责将dex文件翻译为机器码交予系统调用。
    • 特点:在每次执行代码时,Dalvik都需要将操作码代码转换为微处理器指令,这导致了运行效率低下。
  • ART

    • 定义:ART是Google在Android 4.4版本中推出的全新虚拟机运行环境,旨在替代Dalvik。
    • 特点:ART采用静态编译方式,在应用安装时启动dex2oat过程,将dex预编译成ELF文件。这样,每次运行程序时就不需重新编译,从而提高了运行效率。
  • JIT

    • 定义:JIT是一种编译策略,旨在提高应用程序的运行效率。
    • 特点:在Dalvik虚拟机中,JIT编译器会在应用程序运行时,对遇到的新类进行即时编译。编译后的代码被优化为精简的原生型指令码,使得下次执行到相同逻辑时速度更快。JIT编译器可以对执行频繁的dex和odex代码进行编译与优化。
    • 局限性:虽然JIT可以优化Dalvik的运行速度,但将dex翻译为本地机器码依然占用时间。
  • AOT

    • 定义:AOT是与JIT相对的另一种编译策略,主要在应用安装时进行预编译。
    • 特点:AOT在ART虚拟机中被广泛采用,通过在应用安装时将dex预编译成ELF文件,使得每次运行程序时不需重新编译。AOT/JIT混合编译策略在Android 7.0版本中被采用,结合了AOT的预编译优势和JIT的运行时优化能力,从而实现更好的性能和效率。

综上所述,Dalvik和ART是Android的两种主要虚拟机类型,而JIT和AOT则是为了提高运行效率而采用的不同编译策略。

② 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之一。

热点内容
下载云服务器配置 发布:2025-09-21 18:45:30 浏览:656
python爬虫高级教程 发布:2025-09-21 18:39:55 浏览:3
mac怎么关闭磁盘加密 发布:2025-09-21 18:39:54 浏览:824
c语言过时了 发布:2025-09-21 18:34:38 浏览:828
压缩王 发布:2025-09-21 18:33:51 浏览:660
大量数据存储 发布:2025-09-21 18:13:38 浏览:262
lol广东服务器云主机 发布:2025-09-21 18:00:27 浏览:156
服务器存储有哪些类型 发布:2025-09-21 17:34:39 浏览:903
怎么弄系统服务器ip地址 发布:2025-09-21 17:23:43 浏览:804
编程培训课 发布:2025-09-21 17:21:48 浏览:672