What process virtual machine did early Android versions use?

The story behind the answer

Early Android versions used the Dalvik process virtual machine to execute applications. Dalvik was designed for phones and other devices with limited memory and processing power, and it ran compact Dalvik Executable (.dex) files rather than ordinary Java class files directly.

Created by Dan Bornstein, Dalvik was named after Dalvík, a fishing village in Iceland. Its register-based architecture differed from the stack-based design of conventional Java virtual machines. The Android tool dx converted Java bytecode into .dex format, combining and deduplicating constants to reduce storage and memory demands.

Android 2.2 “Froyo” added trace-based just-in-time compilation, improving Dalvik performance by compiling frequently executed sections into native machine code. Dalvik was eventually replaced by Android Runtime, or ART. ART appeared experimentally in Android 4.4 “KitKat” and became Android’s sole runtime in Android 5.0 “Lollipop,” although modern Android still uses the .dex bytecode format.

Source: Wikipedia · fact-checked Sept. 2026

Add question to a list

Choose a list to keep this question in: