LLMpediaThe first transparent, open encyclopedia generated by LLMs

Android Runtime (ART)

Generated by DeepSeek V3.2
Note: This article was automatically generated by a large language model (LLM) from purely parametric knowledge (no retrieval). It may contain inaccuracies or hallucinations. This encyclopedia is part of a research project currently under review.
Article Genealogy
Expansion Funnel Raw 53 → Dedup 23 → NER 12 → Enqueued 12
1. Extracted53
2. After dedup23 (None)
3. After NER12 (None)
Rejected: 11 (not NE: 11)
4. Enqueued12 (None)
Android Runtime (ART)
NameAndroid Runtime
DeveloperGoogle, Open Handset Alliance
Released31 October 2013
Latest release version14.0.0
Latest release date04 October 2023
Programming languageC++, Assembly language
Operating systemAndroid (operating system)
GenreRuntime system
LicenseApache License 2.0
Websitesource.android.com/docs/core/runtime

Android Runtime (ART). It is the managed runtime environment used by the Android (operating system) for executing applications, replacing the original Dalvik (software) virtual machine. Introduced experimentally in Android 4.4 "KitKat", ART became the default runtime starting with Android 5.0 "Lollipop". This change represented a fundamental shift in how APK files are processed and executed, focusing on ahead-of-time (AOT) compilation to improve overall system performance and efficiency.

Overview

ART serves as the core engine that runs Bytecode compiled from Java (programming language) and Kotlin (programming language) within the Android software stack. It operates above the Linux kernel and in conjunction with core Android libraries like Bionic (software) and the Hardware abstraction layer. The runtime is a key component of the Android Open Source Project and is developed primarily by Google engineers. Its design is integral to the security Sandbox (computer security) model of the Android (operating system), isolating applications from each other and the core system.

Architecture

The architecture of ART is built around the concept of ahead-of-time (AOT) compilation. During application installation, ART's dex2oat compiler translates Dalvik Executable (DEX) bytecode into native Machine code for the device's specific Instruction set architecture, such as ARM architecture or x86. This contrasts with the just-in-time (JIT) approach of its predecessor. ART manages memory through an improved Garbage collection (computer science) system, notably the Generational Concurrent GC introduced in Android 8.0 "Oreo". It interfaces directly with the Android NDK for native code execution.

Features and improvements

Key features of ART include profile-guided compilation, which uses data from the Android Framework to optimize frequently executed code paths. The introduction of the Android Runtime APEX module in Android 10 allowed for updatable runtime components via Google Play Store. Enhancements in Android 12 (Snow Cone) brought a more compact ELF format for compiled code. The runtime also supports Project Mainline modules and has integrated improvements from the OpenJDK project over successive versions, ensuring updated Java (programming language) language support.

Comparison with Dalvik

Unlike the Dalvik (software) VM, which used a just-in-time (JIT) compiler to interpret bytecode at runtime, ART performs compilation during installation. This eliminates the interpretation overhead, reducing CPU usage and improving Battery (electricity) life. While Dalvik (software) used its own Dalvik Executable format, ART compiles this into native ELF files. The switch also changed the File system footprint, as installed applications under ART consume more storage space for the pre-compiled native code, a trade-off for faster execution.

Development and history

Development of ART began internally at Google as an experimental replacement for Dalvik (software). It was first publicly revealed and made available as a developer option in Android 4.4 "KitKat", released in 2013. Following positive feedback, it was set as the sole, default runtime in the subsequent release, Android 5.0 "Lollipop". Major architectural overhauls occurred with the move to a mixed AOT/JIT model in Android 7.0 "Nougat". Ongoing development is managed within the Android Open Source Project, with contributions from silicon vendors like Qualcomm and Samsung.

Performance and impact

The adoption of ART led to significant performance gains across the Android (operating system) ecosystem, including faster application launch times and smoother UI responsiveness. These improvements were benchmarked by organizations like AnandTech and influenced the design of subsequent SoCs from MediaTek and HiSilicon. The efficiency of ART's Garbage collection (computer science) directly impacts the performance of demanding applications and games, affecting reviews on platforms like the Google Play Store. Its evolution has been a critical factor in Android (operating system)'s competitiveness against other mobile platforms.

Category:Android (operating system) software Category:Runtime systems Category:Virtual machines