Dalvik (maszyna wirtualna)

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj

Dalvikmaszyna wirtualna oraz środowisko uruchomieniowe systemu operacyjnego Android[1].

Schemat działania środowiska Dalvik oraz jego następcy – ART.

Mechanizm działania[2][3][edytuj | edytuj kod]

Java, która jest domyślnym językiem w przypadku aplikacji systemu Android[4], wymaga, by jej kod źródłowy (.java) został skompilowany do kodu bajtowego (.class). Proces ten wykonywany jest przez program (kompilator) javac, dostępny w JDK. Następnie program dx (będący częścią Android SDK)[5] konsoliduje tak skompilowane klasy w jeden plik, charakterystyczny dla systemu Android (classes.dex). Plik classes.dex wraz z innymi zasobami (np. obrazami wyświetlanymi w aplikacji) pakowany jest do archiwum apk. W momencie instalacji pakietu apk, ma miejsce optymalizacja kodu bajtowego (zawartego w classes.dex) przez program dexopt. Tak przygotowany kod umieszczany jest w katalogu /data/dalvik-cache. Podczas każdego uruchomienia aplikacji, kod bajtowy jest ładowany do pamięci, następnie kompilowany do kodu maszynowego (w trybie JIT) oraz wykonywany.

Dalvik a maszyna JRE[edytuj | edytuj kod]

Dalvik nie jest maszyną wirtualną Javy i używa własnego kodu bajtowego[6][2], jednak możliwa jest konwersja kodu bajtowego Javy do kodu Dalvika (za pomocą programu dx)[2].

Projekty podobne[edytuj | edytuj kod]

Alien Dalvik to port maszyny wirtualnej Dalvik na inne systemy operacyjne niż Android.[7]

Przypisy

  1. ART and Dalvik | Android Open Source Project. source.android.com. [dostęp 2015-09-20].
  2. a b c What is Dalvik and dalvik-cache?. stackoverflow.com. [dostęp 2015-09-20].
  3. Andrei Frumusanu: A Closer Look at Android RunTime (ART) in Android L. [dostęp 2015-09-20].
  4. I want to develop Android Apps - What languages should I learn?. Android Authority. [dostęp 2015-09-20].
  5. Tools Help | Android Developers. developer.android.com. [dostęp 2015-09-20].
  6. Dalvik bytecode | Android Open Source Project. source.android.com. [dostęp 2015-09-20].
  7. Piotr Barycki: Alien Dalvik 2.0 – piękny pomysł, który nie ma większych szans na powodzenie. [dostęp 2015-09-21].

Linki zewnętrzne[edytuj | edytuj kod]