# Android Runtime

Android Runtime (ART) és una aplicació del Sistema en temps d'execució utilitzat pel sistema operatiu Android. ART substitueix a Dalvik, que és el màquina virtual de processos originalment utilitzada per a Android, i porta a terme la transformació de la sol·licitud de bytecode dins del conjunt d'instruccions que després són executats per l'entorn d'execució del dispositiu.
Android 2.2 "Froyo" portat just-in-time (JIT) rastrejar a força en Dalvik, l'optimització de l'execució d'aplicacions contínuament perfils d'aplicacions cada vegada que corren i de forma dinàmica amb el Compilador freqüentment executats segments curts del seu codi de bytes en Llenguatge de màquina natiu. Mentre Dalvik interpreta la resta de codi de bytes de l'aplicació, l'execució nativa d'aquests segments de codi de bytes curts, anomenats "rastres", ofereix importants millores de rendiment.
A diferència de Dalvik, ART introdueix l'ús de compilació ahead-of-time (AOT) mitjançant la compilació d'aplicacions completes en codi màquina natiu sobre la seva instal·lació. Mitjançant l'eliminació de la interpretació de Dalvik i compilació JIT basada en ART millora l'eficiència general d'execució i redueix el consum d'energia, el que es tradueix en una millora de l'autonomia de la bateria en els telèfon intel·ligents. Alhora, ART porta una execució més ràpida de les aplicacions, la millora de la gestió de la memòria i el mecanisme de recollida d'escombraries (GC), noves millores en les aplicacions de depuració de programes, i més precisa d'aplicacions de perfils d'alt nivell.
Per mantenir la compatibilitat amb versions anteriors, ART utilitza el mateix codi de bytes d'entrada com Dalvik, subministrada a través de norma d'arxius .dex com a part dels arxius APK, mentre que els arxius .odex se substitueixen amb l'executable de Format executable i enllaçable (ELF). Una vegada que es compila una aplicació mitjançant l'ús en el dispositiu d'ART amb la utilitat dex2oat, està dirigit únicament a partir de l'executable ELF compilats; com a resultat, ART elimina diverses despeses d'execució d'aplicacions associades a la interpretació de Dalvik i basada en el rastre de compilació JIT. Com a aspecte negatiu, ART requereix temps addicional per a la compilació quan s'instal·la una aplicació, i les aplicacions ocupen quantitats lleugerament més grans d'emmagatzematge secundari (que és en general memòria flaix) per emmagatzemar el codi compilat.
Android 4.4 KitKat porta una tecnologia prèvia d'ART, incloent com un entorn de temps d'execució alternatiu i mantenir Dalvik com la màquina virtual predeterminada. In the next major Android release, Android 5.0 Lollipop, Dalvik va ser substituït íntegrament per ART.
Android 7.0 Nougat va introduir el compilador JIT amb perfil de codi a ART, que permet millorar constantment el rendiment de les aplicacions d'Android mentre s'executen. El compilador JIT complementa el compilador Ahead of Time d'ART i ajuda a millorar el rendiment en el temps d'execució.

## Vegeu també

* Història de les versions d'Android. Una història i descripcions de comunicats d'Android, que apareix principalment pels seus nivells d'API oficials
* Màquina virtual. Una emulació d'un sistema d'ordinador en particular, amb diferents graus de funcionalitat implementada

## Referències

* 1 2 3 Andrei Frumusanu. «A Closer Look at Android RunTime (ART) in Android L». AnandTech, juliol 1, 2014. [Consulta: juliol 5, 2014].
* ↑ ; Bill Buzbee«A JIT Compiler for Android's Dalvik VM» (PDF) p. 5–14. Google, 01-05-2010. Arxivat de l'original el 2015-11-06. [Consulta: març 18, 2015].
* ↑ Phil Nickinson. «Google Android developer explains more about Dalvik and the JIT in Froyo», maig 26, 2010. Arxivat de l'original el 2017-04-08. [Consulta: juliol 8, 2014].
* 1 2 Plantilla:Cite we
* 1 2 «Android Developers: Configuring ART – How ART works», març 9, 2015. [Consulta: març 18, 2015].
* ↑ Sean Buckley. «'ART' experiment in Android KitKat improves battery life and speeds up apps». Engadget, novembre 6, 2013. [Consulta: juliol 5, 2014].
* ↑ Daniel P. «Experimental Google ART runtime in Android KitKat can bring twice faster app executions», novembre 7, 2013. [Consulta: juliol 5, 2014].
* ↑ Brad Linder. «What's new in Android 5.0 Lollipop?», octubre 15, 2014. [Consulta: octubre 15, 2014].
* ↑ «Implementing ART Just-In-Time (JIT) Compiler | Android Open Source Project» (en anglès). [Consulta: 19 febrer 2018].

## Enllaços externs

* Android Runtime - Lloc web oficial
* Android Basics 101: Understanding ART, the Android Runtime a YouTube, XDA Developers, 12 febrer 2014
* ART: Android's Runtime Evolved a YouTube, Google I/O 2014, per Anwar Ghuloum, Brian Carlstrom i Ian Rogers
* A JIT Compiler for Android's Dalvik VM a YouTube, Google I/O 2010, per Ben Cheng i Bill Buzbee
* Delivering Highly Optimized Android Runtime (ART) and Web Runtime on Intel Architecture Arxivat 2016-03-04 a Wayback Machine., Intel, 4 agost 2015, per Haitao Feng i Jonathan Ding