Runtime ART

A differenza di altre piattaforme mobile come iOS o Windows dove il software è compilato nativamente sull'architettura hardware, in Android il software si base su un linguaggio generico che viene trasformato in byte-code nativo per l'architettura hardware.

art.jpg

 

Android RunTime ART, è il successore del Dalvik runtime, la virtual machine che esegue il codice java per Android. Con la versione KitKat di Android abbiamo visto una prima apparizione di ART. Infatti si poteva scegliere se utilizzare il vecchio Dalvik oppure provare ART. ART e Dalvik sono compatibili ed entrabe eseguono il Dex Byte-code in modo da garantire la retro compatibilità delle App.

La sostanziale differenza fra le due virtual machine sta nel tempo di compilazione. Per Dalvik la compilazione avviene in just-in-time, quindi ogni volta che un app viene lanciata, mentre per ART la compilazione è ahead-of-time che sposta la fase di compilazione prima dell'esecuzione. Cioè durante l'installazione delle apps il codice in linguaggio intermedio (java) viene compilato in codice binario nativo per la piattaforma hardware. Tutto attraverso un tool, dex2oat, che accetta in input file DEX generando eseguibili per il device.

 

Ben tornato