117.info
人生若只如初见

Android虚拟机Dalvik和ART详解

Dalvik和ART都是Android虚拟机的一种实现方式,它们的主要区别在于执行字节码的方式不同。

  1. Dalvik虚拟机:Dalvik虚拟机是Android 4.4及之前版本中默认的虚拟机。它使用的是即时编译(Just-In-Time Compilation,JIT)的方式来执行字节码。在应用程序运行时,Dalvik会将字节码转换成机器码并直接执行,这样可以提高应用程序的运行效率。但是,每次运行应用程序时都需要进行即时编译的过程,会导致应用程序启动较慢。

  2. ART虚拟机:ART虚拟机是Android 5.0及之后版本中默认的虚拟机。它使用的是预编译(Ahead-Of-Time Compilation,AOT)的方式来执行字节码。在应用程序安装时,ART会将字节码预先编译成机器码,并保存在设备中。这样,在应用程序运行时就可以直接执行机器码,而不需要进行即时编译的过程。这种方式可以提高应用程序的启动速度和运行效率,但是会占用更多的存储空间。

总结来说,Dalvik虚拟机使用即时编译的方式执行字节码,启动较慢但运行效率高,而ART虚拟机使用预编译的方式执行字节码,启动速度快但需要占用更多的存储空间。在Android 7.0之后,ART虚拟机还引入了Just-In-Time编译器(JIT Compiler),可以在运行时对部分代码进行即时编译,以提高运行效率。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe1d6AzsLBA9TA1U.html

推荐文章

  • Android 之自定义 View 的死亡三部曲之 Layout

    在 Android 中,自定义 View 的死亡三部曲是指测量(Measure)、布局(Layout)和绘制(Draw)三个阶段。Layout 阶段是其中的一部分,它决定了 View 在父容器中的...

  • android 自定义控件 使用declare

    在Android中,可以使用declare-styleable来定义和使用自定义控件的属性。下面是一个简单的示例:1. 在res/values/attrs.xml文件中定义自定义属性: 在这个示例中...

  • Android Q Labs 通用系统映像介绍

    Android Q Labs 通用系统映像是一种用于开发和测试Android Q系统的镜像文件。这个映像文件包含了Android Q系统的核心组件和功能,可以在模拟器或者实体设备上运行...

  • Android Doze 使用详解

    Android Doze 是一种省电模式,它可以在设备处于静止状态时自动将应用程序置于休眠状态,从而延长设备的电池寿命。以下是 Android Doze 的使用详解: 什么是 And...

  • Stuxnet攻击原理以及如何预防类似攻击

    Stuxnet是一种针对工业控制系统的恶意软件,它在2010年被发现。它是一种独特的攻击,其原理和防范方法如下:
    攻击原理: 传播方式:Stuxnet利用了多种传播方...

  • 数据中心四大灾备技术解析

    数据中心的灾备技术主要是指为了保证数据中心在发生灾害时能够快速恢复运行,并且不会丢失重要数据而采取的一系列措施和技术手段。下面是四种常见的数据中心灾备...

  • OLAP和OLTP的本质区别,一篇文章讲明白

    OLAP(联机分析处理)和OLTP(联机事务处理)是两种不同的数据库处理方式,各自适用于不同的业务需求。下面是一篇文章,将详细讲解OLAP和OLTP的本质区别。
    ...

  • ARM v8处理器概述、架构及技术介绍

    ARM v8处理器是一种基于ARM架构的64位处理器。它包含了一系列技术和功能,以提供更高的性能和能效。
    ARM v8架构采用了先进的AArch64指令集,这是一种全新的...