Dalvik umarł. Jeszcze przed Google I/O ART staje się domyślnym środowiskiem uruchomieniowym Androida

Google I/O odbędzie się w przyszłym tygodniu.Najprawdopodobniej już na samym początku tej deweloperskiejkonferencji gigant z Mountain View zaprezentuje nową wersjęAndroida. Wiele wskazuje na to, że będzie to pierwsza wersjasystemu, w której pożegnamy się z będącą jego kluczowymskładnikiem – maszyną wirtualną Dalvik, w której uruchamiane sąaplikacje.

21.06.2014 16:40

O tym, że Google przymierza się do porzucenia Dalvika, wiadomobyło od premierywersji 4.4 Androida. Zaprezentowane wówczas nowe środowiskouruchomieniowe ART (Android RunTime) z jednej strony było dlaGoogle'a sposobem na wykręcenie się z wciąż nierozwiązanychproblemów licencyjnych Dalvika, z drugiej sposobem na zwiększeniewydajności uruchamiania pisanych w Javie aplikacji, odbiegającychdziś pod tym względem od np. kompilowanych do natywnego koduaplikacji w Objective-C, pisanych dla iOS-a.

Obraz

ART kończy z koniecznością każdorazowego uruchamianiaaplikacji na interpreterze. Kod bajtowy Javy jest prekompilowany dokodu maszynowego za pomocą kompilatora Ahead-of-Time (AOT),pozwalającego na porównywalny poziom optymalizacji jak w normalnychkompilatorach dla systemów desktopowych (np. GCC). Za cenęwiększych rozmiarów kodu wynikowego i dłuższego czasu instalacjiaplikacji przyspiesza się ich uruchamianie, zwiększa responsywność,a w niektórych wypadkach nawet i zmniejsza zużycie energii.

Pierwsze benchmarki ART-a pokazały, że wbrew szumnymzapowiedziom deweloperów Google'a cudów (przynajmniej na początku)nie będzie. Serwis Android Police przeprowadził dość rzetelnieobmyślone porównaniewydajności obu środowisk uruchomieniowych Androida, z którychwynikało, że nie można mówić o żadnym mierzalnym wzrościewydajności dla obliczeń stałoprzecinkowych, wykonywania normalnegokodu czy operacji graficznych. Wyraźne przyspieszenie (rzędukilkunastu procent) osiągnięto tylko dla obliczeńzmiennoprzecinkowych i w niektórych wypadkach dla operacji I/O idostępu do pamięci. Podobnie też zapowiadane wydłużenie czasupracy na baterii wydało się raczej złudzeniem,niż mierzalnym faktem.

To wszystko jednak były benchmarki bardzo wczesnych wersji ART-a,na podstawie których nie można skreślać perspektyw tegorozwiązania. Google nie tylko nie zrezygnowało, ale właśniezdecydowało się całkowicie zastąpić ART-em dotychczas używanegoDalvika. Ostatnie zmiany w AOSP (opensource'owej wersji Androida),wprowadzone pod numerami 98553i 98618,to odpowiednio całkowite usunięcie Dalvika z kodu głównej gałęzirozwojowej Androida i przełączenie domyślnego środowiskauruchomieniowego na ART-a (core-libart). Warto przytoczyć zabawnykomentarz jednego z programistów Androida, Briana Carlstroma: Dalvikis dead, long live Dalvik! DO NOT MERGE(Dalvik umarł, niech żyje Dalvik, NIE WŁĄCZAĆ).

Zainteresowanych aktualnym(ciągle się zmieniającym) stanem ART-a odsyłamy do dokumentacjideweloperskiej Androida. Niezależni twórcy aplikacji na raziewstrzymują się z jakimiś większymi działaniami z tego powodu –i całkiem rozsądnie, gdyż nikt nie wie, jak będzie wyglądałaostateczna forma ART-a. Znany deweloper rovo89, autor frameworkaXposed, zapowiedział już, że przygotuje jego wersję dla nowegośrodowiska uruchomieniowego, ale na pewno nie pojawi się ona trzydni po Google I/O, tym bardziej, że nie wiadomo jeszcze jak innezmiany w systemie wpłyną na te wszystkie wymagające rootasystemowe aplikacje.

Programy

Zobacz więcej
Zobacz także
Komentarze (87)