Spis treści
Android Runtime
Android Runtime (ART) – środowisko uruchomieniowe systemu Android. Zaprezentowany (jako podgląd deweloperski) wraz z premierą wersji 4.4 KitKat, domyślne środowisko od wersji 5.0 Lollipop.
Mechanizm działania
[edytuj | edytuj kod]Większość aplikacji systemu Android została napisana w Javie. Programy napisane w tym języku kompilowane są do kodu bajtowego (pośredniego). Na tym etapie nie ma jeszcze możliwości wykonania owego kodu bezpośrednio przez procesor, jako że kod pośredni musi zostać skompilowany do kodu maszynowego. W momencie instalacji pakietu (APK), zawarty w nim plik z kodem bajtowym (classes.dex) jest kompilowany przez program dex2oat do wykonywalnego kodu maszynowego (ELF), odpowiedniego dla danej architektury procesora (np. ARMv7-A czy też x86). Tak skompilowany kod umieszczany jest zazwyczaj w folderze /data/dalvik-cache/ (nazwę nawiązującą do poprzedniego środowiska zachowano dla kompatybilności).
Usprawnienia w porównaniu z poprzednim środowiskiem (Dalvik)
[edytuj | edytuj kod]W przeciwieństwie do Dalvika, który korzysta z kompilacji just-in-time (tzn. kod bajtowy kompilowany jest przy każdym uruchomieniu aplikacji)[1][2], ART używa metody ahead-of-time (kod pośredni kompilowany jest raz, mianowicie przy instalacji aplikacji). Pozwoliło to na nieznaczne zmniejszenie czasu uruchamiania aplikacji (i całego systemu) oraz redukcję poboru energii[2][3]. Usprawniono również odśmiecanie (garbage collection), co przyczyniło się do wzrostu wydajności[2][4]. Dodatkowo, dodano nowe opcje deweloperskie umożliwiające twórcom aplikacji łatwiejsze debugowanie[4].
Wady w porównaniu z Dalvikiem
[edytuj | edytuj kod]Biorąc pod uwagę fakt, że kompilacja (ahead-of-time) kodu bajtowego ma miejsce podczas instalacji aplikacji, aplikacje są instalowane dłużej[1][3]. Kod maszynowy zajmuje więcej miejsca niż kod bajtowy, co przekłada się na mniejszą przestrzeń magazynową dostępną dla użytkownika[1][3].
Przypisy
[edytuj | edytuj kod]- ↑ a b c Adam Golański (eimi): Dalvik umarł. Jeszcze przed Google I/O ART staje się domyślnym środowiskiem uruchomieniowym Androida. dobreprogramy.pl. [dostęp 2015-03-05]. (pol.).
- ↑ a b c Andrei Frumusanu: A Closer Look at Android RunTime (ART) in Android L. anandtech.com. [dostęp 2015-03-05]. (ang.).
- ↑ a b c How ART works. [dostęp 2015-03-05]. (ang.).
- ↑ a b ART and Dalvik. [dostęp 2015-03-05]. (ang.).