Android Runtime

From Wikipedia, the free encyclopedia
Jump to: navigation, search
A comparison of Dalvik and ART architectures

Android Runtime (ART) is an application runtime environment used by the Android mobile operating system. ART replaces Dalvik, which is the process virtual machine originally used by Android, and performs transformation of the application's bytecode into native instructions that are later executed by the device's runtime environment.[1]

Unlike Dalvik, which since Android 2.2 "Froyo" uses just-in-time (JIT) compilation to compile the bytecode every time an application is launched,[2] ART introduces use of ahead-of-time (AOT) compilation by performing it upon the installation of an application. By reducing the overall amount of compilation that needs to be performed across the operation of an application, a mobile device's processor usage is reduced and battery runtime is improved. At the same time, ART brings improvements in performance, garbage collection, applications debugging and profiling.[1][3]

To maintain backward compatibility, ART uses the same input bytecode as Dalvik, supplied through standard .dex files as part of APK files, while the .odex files are replaced with Executable and Linkable Format (ELF) executables. Once an application is compiled by using ART's on-device dex2oat utility, it is run solely from the compiled ELF executable; this approach eliminates various overheads involved with JIT compilation, but it requires additional time for compilation when an application is installed, and applications take up slightly larger amounts of storage space to store the compiled bytecode.[1][3]

A technology preview of ART debuted as an alternative runtime environment in Android 4.4 "KitKat".[4][5] ART replaces Dalvik entirely in development preview releases of Android L.[6]

See also[edit]


  1. ^ a b c Andrei Frumusanu (July 1, 2014). "A Closer Look at Android RunTime (ART) in Android L". AnandTech. Retrieved July 5, 2014. 
  2. ^ Phil Nickinson (May 26, 2010). "Google Android developer explains more about Dalvik and the JIT in Froyo". Android Central. Retrieved July 8, 2014. 
  3. ^ a b "Introducing ART". Android developer portal. June 12, 2014. Retrieved July 5, 2014. 
  4. ^ Sean Buckley (November 6, 2013). "'ART' experiment in Android KitKat improves battery life and speeds up apps". Engadget. Retrieved July 5, 2014. 
  5. ^ Daniel P. (November 7, 2013). "Experimental Google ART runtime in Android KitKat can bring twice faster app executions". PhoneArena. Retrieved July 5, 2014. 
  6. ^ Vlad Savov (June 25, 2014). "Google's next big Android redesign is coming in the fall". The Verge. Retrieved July 5, 2014. 

External links[edit]