Android Runtime

Android Runtime (ART) to środowisko uruchomieniowe aplikacji używane przez system operacyjny Android. Zastępując Dalvik, maszynę wirtualną procesu pierwotnie używaną przez system Android, ART wykonuje tłumaczenie kodu bajtowego aplikacji na natywne instrukcje, które są później wykonywane przez środowisko uruchomieniowe urządzenia.

Android Runtime

Developer(s)

Google

repozytorium

android.googlesource.com / Platforma / art/

napisane w

C, C++

System Operacyjny

Android (SYSTEM OPERACYJNY)

Strona www

source.android.com/devices/tech/dalvik/art.html  Edytuj to na Wikidanych

porównanie architektury Dalvik i ART

Android 2.2 „Froyo” wprowadził do Dalvik kompilację just-in-time (JIT) opartą na śladach, optymalizując wykonywanie aplikacji poprzez ciągłe profilowanie aplikacji za każdym razem, gdy działają i dynamiczne kompilowanie często wykonywanych krótkich segmentów ich kodu bajtowego do natywnego kodu maszynowego. Podczas gdy Dalvik interpretuje resztę kodu bajtowego aplikacji, natywne wykonywanie tych krótkich segmentów kodu bajtowego, zwanych „śladami”, zapewnia znaczną poprawę wydajności.

w przeciwieństwie do Dalvika, ART wprowadza użycie kompilacji ahead-of-time (AOT) poprzez kompilację całych aplikacji do natywnego kodu maszynowego po ich instalacji. Eliminując interpretację Dalvika i kompilację JIT opartą na śladach, ART poprawia ogólną wydajność wykonania i zmniejsza zużycie energii, co skutkuje zwiększoną autonomią baterii na urządzeniach mobilnych. Jednocześnie Sztuka zapewnia szybsze wykonywanie aplikacji, ulepszone mechanizmy alokacji pamięci i usuwania śmieci (GC), nowe funkcje debugowania aplikacji i dokładniejsze profilowanie aplikacji na wysokim poziomie.

aby zachować kompatybilność wsteczną, ART używa tego samego bajt kodu wejściowego co Dalvik, dostarczanego przez standard .pliki dex jako część plików APK, podczas gdy.pliki odex są zastępowane plikami wykonywalnymi i formatami wykonywalnymi (ELF). Po skompilowaniu aplikacji przy użyciu narzędzia ART na urządzeniu dex2oat, jest ona uruchamiana wyłącznie ze skompilowanego pliku wykonywalnego ELF; w rezultacie ART eliminuje różne koszty ogólne związane z interpretacją Dalvika i kompilacją JIT opartą na śladach. Minusem jest to, że sztuka wymaga dodatkowego czasu na kompilację, gdy aplikacja jest zainstalowana, a aplikacje zajmują nieco większe ilości dodatkowej pamięci (zwykle jest to pamięć flash) do przechowywania skompilowanego kodu.

Android 4.4 „KitKat” przyniósł podgląd technologii sztuki, w tym jako alternatywne środowisko uruchomieniowe i zachowując Dalvik jako domyślną maszynę wirtualną. W kolejnym ważnym wydaniu Androida, Android 5.0 „Lollipop”, Dalvik został całkowicie zastąpiony przez art.

Android 7.0 „Nougat” zmienił środowisko Java Runtime na OpenJDK, wprowadzając kompilator JIT z profilowaniem kodu do sztuki, co pozwala na ciągłe poprawianie wydajności aplikacji na Androida podczas ich uruchamiania. Kompilator JIT uzupełnia ART ’ s current ahead of Time compiler i pomaga poprawić wydajność runtime i zaoszczędzić miejsce na dysku, kompilując tylko niektóre części aplikacji.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.