请输入您要查询的百科知识:

 

词条 Android Runtime
释义

  1. See also

  2. References

  3. External links

{{Use mdy dates|date=August 2014}}{{Infobox software
| name =
| logo =
| logo alt =
| logo caption =
| screenshot =
| screenshot alt =
| caption =
| collapsible =
| author =
| developer =
| released =
| discontinued =
| ver layout =
| latest release version =
| latest release date =
| latest preview version =
| latest preview date =
| repo =
| status =
| programming language =
| operating system =
| platform =
| size =
| language =
| language count =
| language footnote =
| genre =
| license =
| alexa =
| website =
| standard =
| AsOf =
}}Android Runtime (ART) is an application runtime environment used by the Android operating system. Replacing Dalvik, the process virtual machine originally used by Android, ART performs the translation of the application's bytecode into native instructions that are later executed by the device's runtime environment.[1]Android 2.2 "Froyo" brought trace-based just-in-time (JIT) compilation into Dalvik, optimizing the execution of applications by continually profiling applications each time they run and dynamically compiling frequently executed short segments of their bytecode into native machine code. While Dalvik interprets the rest of application's bytecode, native execution of those short bytecode segments, called "traces", provides significant performance improvements.[2][3]

Unlike Dalvik, ART introduces the use of ahead-of-time (AOT) compilation by compiling entire applications into native machine code upon their installation. By eliminating Dalvik's interpretation and trace-based JIT compilation, ART improves the overall execution efficiency and reduces power consumption, which results in improved battery autonomy on mobile devices. At the same time, ART brings faster execution of applications, improved memory allocation and garbage collection (GC) mechanisms, new applications debugging features, and more accurate high-level profiling of applications.[1][4][5]

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 {{Mono|dex2oat}} utility, it is run solely from the compiled ELF executable; as a result, ART eliminates various application execution overheads associated with Dalvik's interpretation and trace-based JIT compilation. As a downside, ART requires additional time for the compilation when an application is installed, and applications take up slightly larger amounts of secondary storage (which is usually flash memory) to store the compiled code.[1][4][5]

Android 4.4 KitKat brought a technology preview of ART, including it as an alternative runtime environment and keeping Dalvik as the default virtual machine.[6][7] In the subsequent major Android release, Android 5.0 Lollipop, Dalvik was entirely replaced by ART.[8]Android 7.0 Nougat introduced JIT compiler with code profiling to ART, which lets it constantly improve the performance of Android apps as they run. The JIT compiler complements ART's current Ahead of Time compiler and helps improve runtime performance.[9]

See also

{{Portal|Computer programming}}
  • Android software development{{snd}} various concepts and software development utilities used for the creation of Android applications
  • Android version history{{snd}} a history and descriptions of Android releases, listed primarily by their official API levels
  • Comparison of application virtualization software{{snd}} various portable and scripting language virtual machines
  • Virtual machine{{snd}} an emulation of a particular computer system, with different degrees of implemented functionality

References

1. ^{{cite web | url = http://anandtech.com/show/8231/a-closer-look-at-android-runtime-art-in-android-l/ | title = A Closer Look at Android RunTime (ART) in Android L | date = {{date|2014-07-01|mdy}} | accessdate = {{date|2014-07-05|mdy}} | author = Andrei Frumusanu | publisher = AnandTech}}
2. ^{{cite web |url = http://www.android-app-developer.co.uk/android-app-development-docs/android-jit-compiler-androids-dalvik-vm.pdf |title = A JIT Compiler for Android's Dalvik VM |date = May 2010 |accessdate = {{date|2015-03-18|mdy}} |author1 = Ben Cheng |author2 = Bill Buzbee |publisher = Google |website = android-app-developer.co.uk |format = PDF |pages = 5–14 |archive-url = https://web.archive.org/web/20151106221110/http://www.android-app-developer.co.uk/android-app-development-docs/android-jit-compiler-androids-dalvik-vm.pdf |archive-date = November 6, 2015 |dead-url = yes |df = mdy-all}}
3. ^{{cite web | url = http://www.androidcentral.com/google-android-developer-explains-more-about-dalvik-and-jit-froyo | title = Google Android developer explains more about Dalvik and the JIT in Froyo | date = {{date|2010-05-26|mdy}} | accessdate = {{date|2014-07-08|mdy}} | author = Phil Nickinson | website = androidcentral.com}}
4. ^{{cite web | url = https://source.android.com/devices/tech/dalvik/index.html | title = Android Developers: ART and Dalvik | date = {{date|2015-03-09|mdy}} | accessdate = {{date|2015-03-18|mdy}} | website = source.android.com}}
5. ^{{cite web | url = https://source.android.com/devices/tech/dalvik/configure.html#how_art_works | title = Android Developers: Configuring ART – How ART works | date = {{date|2015-03-09|mdy}} | accessdate = {{date|2015-03-18|mdy}} | website = source.android.com}}
6. ^{{cite web | url = https://www.engadget.com/2013/11/06/new-android-runtime-could-improve-battery-life/ | title = 'ART' experiment in Android KitKat improves battery life and speeds up apps | date = {{date|2013-11-06|mdy}} | accessdate = {{date|2014-07-05|mdy}} | author = Sean Buckley | publisher = Engadget}}
7. ^{{cite web | url = http://www.phonearena.com/news/Experimental-Google-ART-runtime-in-Android-KitKat-can-bring-twice-faster-app-executions_id49139 | title = Experimental Google ART runtime in Android KitKat can bring twice faster app executions | date = {{date|2013-11-07|mdy}} | accessdate = {{date|2014-07-05|mdy}} | author = Daniel P. | website = phonearena.com}}
8. ^{{cite web | url = http://liliputing.com/2014/10/whats-new-android-5-0-lollipop.html | title = What's new in Android 5.0 Lollipop? | date = {{date|2014-10-15|mdy}} | accessdate = {{date|2014-10-15|mdy}} | author = Brad Linder | website = liliputing.com}}
9. ^{{cite web | url = https://source.android.com/devices/tech/dalvik/jit-compiler.html | title = Implementing ART Just-In-Time (JIT) Compiler | date = {{date|2017-01-22|mdy}} | accessdate = {{date|2017-01-22|mdy}} | website = source.android.com}}

External links

{{Commons category}}
  • {{Official website|https://source.android.com/devices/tech/dalvik/index.html}}
  • {{YouTube|id=USgXkI-NRPo|title=Android Basics 101: Understanding ART, the Android Runtime}}, XDA Developers, February 12, 2014
  • {{YouTube|id=EBlTzQsUoOw|title=ART: Android's Runtime Evolved|link=no}}, Google I/O 2014, by Anwar Ghuloum, Brian Carlstrom and Ian Rogers
  • {{YouTube|id=Ls0tM-c4Vfo|title=A JIT Compiler for Android's Dalvik VM|link=no}}, Google I/O 2010, by Ben Cheng and Bill Buzbee
  • [https://intel.lanyonevents.com/sz15/connect/fileDownload/session/4BBA45B063EB52C028E40C64F4270EC3/SZ15_STTS004_100_ENGf.pdf Delivering Highly Optimized Android Runtime (ART) and Web Runtime on Intel Architecture], Intel, August 4, 2015, by Haitao Feng and Jonathan Ding
  • [https://developer.android.com/preview/api-overview.html#jit_aot Android 7.1 for Developers: Profile-guided JIT/AOT compilation], Android Developers, describes ART changes in Android 7
{{Android|state=collapsed}}

2 : Android (operating system)|Java virtual machine

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/9/21 8:45:41