Android Runtime: Difference between revisions
→See also: Now linked in the article |
try this rephrasing |
||
Line 21: | Line 21: | ||
| publisher = [[Google]] | website = android-app-developer.co.uk |
| publisher = [[Google]] | website = android-app-developer.co.uk |
||
| format = PDF | pages = 5–6, 12 |
| format = PDF | pages = 5–6, 12 |
||
}}</ref> ART introduces the use of [[Ahead-of-time compilation|ahead-of-time (AOT) compilation]] by performing it upon the installation of an application. By eliminating interpretation and removing trace-based JIT compilation |
}}</ref> ART introduces the use of [[Ahead-of-time compilation|ahead-of-time (AOT) compilation]] by performing it upon the installation of an application. By eliminating interpretation and removing trace-based JIT compilation in favor of full compilation to [[Machine_code|native binary code]], ART improves execution efficiency and improves battery runtime. At the same time, ART brings improvements in performance, [[Garbage collection (computer science)|garbage collection]], applications [[debugging]] and [[Profiling (computer programming)|profiling]].<ref name="anandtech-8231" /><ref name="android-source-art">{{cite web |
||
| url = https://source.android.com/devices/tech/dalvik/art.html |
| url = https://source.android.com/devices/tech/dalvik/art.html |
||
| title = Introducing ART |
| title = Introducing ART |
Revision as of 19:41, 18 March 2015
![](http://upload.wikimedia.org/wikipedia/commons/thumb/2/25/ART_view.png/400px-ART_view.png)
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 bytecode interpretation combined with optional trace-based just-in-time (JIT) compilation of short bytecode "traces" every time an application is executed,[2][3] ART introduces the use of ahead-of-time (AOT) compilation by performing it upon the installation of an application. By eliminating interpretation and removing trace-based JIT compilation in favor of full compilation to native binary code, ART improves execution efficiency and improves battery runtime. At the same time, ART brings improvements in performance, garbage collection, applications debugging and profiling.[1][4]
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 Dalvik's interpretation and JIT compilation, but it requires additional time for compilation when an application is installed, and applications take up slightly larger amounts of space to store the compiled code.[1][4]
A technology preview of ART debuted as an alternative runtime environment in Android 4.4 "KitKat".[5][6] In the next major Android release, Android 5.0 "Lollipop", Dalvik was entirely replaced by ART.[7]
See also
- Android software development – various concepts and software development utilities used for the creation of Android applications
- Android version history – a history and descriptions of Android releases, listed primarily by their official API levels
- Comparison of application virtualization software – various portable and scripting language virtual machines
- Virtual machine – an emulation of a particular computer system, with different degrees of implemented functionality
References
- ^ a b c Andrei Frumusanu (July 1, 2014). "A Closer Look at Android RunTime (ART) in Android L". AnandTech. Retrieved July 5, 2014.
- ^ Phil Nickinson (May 26, 2010). "Google Android developer explains more about Dalvik and the JIT in Froyo". androidcentral.com. Retrieved July 8, 2014.
- ^ Ben Cheng; Bill Buzbee (May 2010). "A JIT Compiler for Android's Dalvik VM" (PDF). android-app-developer.co.uk. Google. pp. 5–6, 12. Retrieved March 18, 2015.
- ^ a b "Introducing ART". source.android.com. June 12, 2014. Retrieved July 5, 2014.
- ^ Sean Buckley (November 6, 2013). "'ART' experiment in Android KitKat improves battery life and speeds up apps". Engadget. Retrieved July 5, 2014.
- ^ Daniel P. (November 7, 2013). "Experimental Google ART runtime in Android KitKat can bring twice faster app executions". phonearena.com. Retrieved July 5, 2014.
- ^ Brad Linder (October 15, 2014). "What's new in Android 5.0 Lollipop?". liliputing.com. Retrieved October 15, 2014.
External links
- Official website
- Android Basics 101: Understanding ART, the Android Runtime on YouTube
- A JIT Compiler for Android's Dalvik VM on YouTube, Google I/O 2010, by Ben Cheng and Bill Buzbee