ART

Android runtime (ART) is the managed runtime used by applications and some system services on Android. ART and its predecessor Dalvik were originally created specifically for the Android project. 

ART and Dalvik are compatible runtimes running Dex bytecode, so apps developed for Dalvik should work when running with ART. 

Dalvik

Dalvik Virtual Machine or DVM is a Register-Based virtual machine that was designed and written by Dan Bornstein. The Dalvik virtual machine was named by Bornstein after the fishing village “Dalvík” in Eyjafjörður, Iceland, where some of his ancestors used to live. Dalvik is a discontinued virtual machine (VM) in the Android OS that executes applications written for Android. 

Dalvik bytecode format is still used as a distribution format, but no longer at runtime in newer Android versions. 

Android itself is a Linux system with Dalvik sitting on top of it. DVM takes android apps, turns them from java code into bytecode that the Linux system can run.

Difference Between DVM and ART

DALVIK VIRTUAL MACHINEANDROID RUN TIME
Faster Booting timeRebooting is significantly longer
Cache builds up overtimeThe cache is built during the first boot
Occupies less space due to JITConsumes a lot of storage space internally due to AOT
Works best for small storage devicesWorks best for Large storage devices
Stable and tested virtual machineExperimental and new – not much app support comparatively
Longer app loading timeExtremely Faster and smoother Faster and app loading time and lower processor usage