Android 4.4 Dalvik 与 ART 虚拟机内幕浅析50
Android 4.4 KitKat 引入了 ART(Android 运行时)虚拟机,以取代 Dalvik 虚拟机,这是 Android 系统此前使用的虚拟机。这两种虚拟机均负责在设备上执行 Android 应用程序,但在运行方式和功能方面存在一些关键差异。
Dalvik 虚拟机
Dalvik 虚拟机使用称为 DEX(Dalvik 可执行文件)的中间语言。DEX 文件是编译后的 Java 字节码,在应用程序安装时创建。Dalvik 虚拟机在应用程序安装时对 DEX 文件进行优化,并将它们存储在应用程序内部。当运行应用程序时,Dalvik 虚拟机将 DEX 文件加载到内存并逐条解释执行。这意味着 Dalvik 虚拟机需要在应用程序运行时进行即时编译,这可能会导致性能下降。
ART 虚拟机
ART 虚拟机采用不同的方法。它在应用程序安装时将 DEX 文件预编译为本机机器代码。这称为预编译,它在应用程序的整个生命周期内只执行一次。预编译后,应用程序在运行时不需要进行即时编译,这可以提高性能。此外,ART 虚拟机使用一种称为 Ahead-of-Time (AOT) 编译技术,其中应用程序在安装时进行完整的编译,包括对应用程序代码的所有可能的路径的编译。
与 Dalvik 虚拟机相比,ART 虚拟机具有以下优势:* 改进的性能:ART 虚拟机通过预编译和 AOT 编译消除了即时编译的开销,从而提高了应用程序性能。
* 更低的内存使用:由于 ART 虚拟机不需要在应用程序运行时进行即时编译,因此它可以减少内存使用。
* 更快的启动时间:通过预编译应用程序,ART 虚拟机可以减少应用程序的启动时间。
Dalvik 与 ART 的选择
Android 4.4 及更高版本支持 Dalvik 和 ART 虚拟机。默认情况下,Android 设备使用 ART 虚拟机。但是,对于某些应用程序或设备,Dalvik 虚拟机可能仍然更合适。例如:* 需要即时编译的应用程序:某些应用程序(例如游戏)依赖于在运行时修改其代码。这些应用程序可能会在 ART 虚拟机下运行不佳。
* 低端设备:ART 虚拟机对处理能力和内存的要求高于 Dalvik 虚拟机。对于低端设备,Dalvik 虚拟机可能是更好的选择。
自定义 Android 4.4 系统
如果您是高级用户,可以通过修改设备上的系统文件来自定义 Android 4.4 系统。这包括选择 Dalvik 或 ART 虚拟机以及优化虚拟机设置。以下是一些提示:* 选择虚拟机:要选择 Dalvik 或 ART 虚拟机,请转到“开发人员选项”并查找“选择运行时”选项。
* 优化虚拟机设置:您可以通过修改 文件来优化虚拟机设置。例如,您可以增加 ART 堆大小或启用强制预编译。
2025-02-21
下一篇:Android 系统权限代码实现
新文章

iOS 系统中的 ES 文件管理器:揭秘隐藏功能和使用指南

Android 系统:功能和优势

Android 汽车系统升级:全面指南

iOS 设备系统升级指南:全面的专家指导

iOS 14.7.1:深入了解其关键更新和安全增强

苹果和 Windows 系统过热问题详解

华为鸿蒙系统页面布局:揭秘卓越设计的背后

Linux 系统服务管理详解

如何优化 Windows 系统以提高性能

Windows 系统关机卡死:深入分析及解决方案
热门文章

iOS 系统的局限性

Mac OS 9:革命性操作系统的深度剖析

macOS 直接安装新系统,保留原有数据

Linux USB 设备文件系统

华为鸿蒙操作系统:业界领先的分布式操作系统

**三星 One UI 与华为 HarmonyOS 操作系统:详尽对比**

iOS 操作系统:移动领域的先驱

华为鸿蒙系统:全面赋能多场景智慧体验
![macOS 系统语言更改指南 [专家详解]](https://cdn.shapao.cn/1/1/f6cabc75abf1ff05.png)
macOS 系统语言更改指南 [专家详解]
