Dalvik (maszyna wirtualna)
Dalvik – maszyna wirtualna oraz środowisko uruchomieniowe systemu operacyjnego Android[1]. Dalvik był domyślną maszyną wirtualną systemów Android od wersji 1.0 Apple Pie (2008) do wersji 4.4 KitKat (2013). Od wersji 5.0 Lollipop (2014) został zastąpiony przez 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
[edytuj | edytuj kod]- ↑ ART and Dalvik | Android Open Source Project. source.android.com. [dostęp 2015-09-20].
- ↑ a b c What is Dalvik and dalvik-cache?. stackoverflow.com. [dostęp 2015-09-20].
- ↑ Andrei Frumusanu: A Closer Look at Android RunTime (ART) in Android L. [dostęp 2015-09-20].
- ↑ I want to develop Android Apps - What languages should I learn?. Android Authority. [dostęp 2015-09-20].
- ↑ Tools Help | Android Developers. developer.android.com. [dostęp 2015-09-20].
- ↑ Dalvik bytecode | Android Open Source Project. source.android.com. [dostęp 2015-09-20].
- ↑ Piotr Barycki: Alien Dalvik 2.0 – piękny pomysł, który nie ma większych szans na powodzenie. [dostęp 2015-09-21].