79

ART już niebawem zastąpi Dalvika. Koniec mitu o ociężałym i powolnym Androidzie?

Wyglądda na to, że wirtualna maszyna ART trafi do Androida na stałe szybciej, niż moglibyśmy przypuszczać. W źródłach AOSP pojawiły się zmiany, które wyraźnie wskazują na uczynienie jej domyślnym środowiskiem uruchomieniowym. Taki krok ma nie tylko przynieść znacznie większą wydajność, ale też raz na zawsze zakończyć spory Google’a z Oracle. Środowisko wykonawcze ART dla Androida […]

Wyglądda na to, że wirtualna maszyna ART trafi do Androida na stałe szybciej, niż moglibyśmy przypuszczać. W źródłach AOSP pojawiły się zmiany, które wyraźnie wskazują na uczynienie jej domyślnym środowiskiem uruchomieniowym. Taki krok ma nie tylko przynieść znacznie większą wydajność, ale też raz na zawsze zakończyć spory Google’a z Oracle.

Środowisko wykonawcze ART dla Androida to dość świeży projekt. Google wprowadził go jako eksperymentalną funkcję do Androida 4.4. Wywołało to dość duże poruszenie, bo okazało się, że na tle Dalvika oferuje zwiększoną wydajność i lepiej sprawdza się na urządzeniach z segmentu low-end. Trudno się temu dziwić, bo ART to nieco odmienna filozofia. Zastosowano tutaj inny kompilator – AOT (Ahead-Of-Time), który wykonuje swoją pracę tylko raz – tuż po instalacji programu, przygotowując go tym samym do uruchamiania. Tymczasem w przypadku dotychczasowego rozwiązania (Dalvik) kompilator JIT (Just-In-Time) robił to praktycznie za każdym razem, gdy na urządzeniu uruchamiano aplikację.

Przyrost wydajności może być znaczący, choć będzie się to wiązało z nieco dłuższym czasem instalacji. Nowe środowisko jest w stanie wówczas wykonać nawet bardzo złożone działania optymalizacyjne. Prekompilowane w ten sposób aplikacje działają w pełni natywnie i tym samym nie wymagają aż tyle miejsca w pamięci RAM (choć mogą zajmować go więcej w pamięci flash). Pozytywne skutki są również widoczne w benchmarkach oraz czasie pracy urządzenia na baterii.

2014-02-03_105541

Jedna z ostatnich zmian w repozytorium AOSP wskazuje wyraźnie, że ART został uczyniony domyślnym środowiskiem wykonawczym dla aplikacji. Nie znaczy to, że Dalvik idzie w odstawkę. Ciągle będzie bowiem dostępny, choć jako druga i alternatywna opcja. Kto wie, czy z czasem nie zniknie z Androida całkowicie.

Jednak zmiany w AOSP jeszcze niczego nie przesądzają i warto mieć tego świadomość. W przypadku niestabilnego działania lub dużej ilości błędów zmiana może zostać zwyczajnie cofnięta i odłożona w czasie. Równie dobrze Google w kolejnym wydaniu Androida może jej nie uwzględnić (co w przeszłości już się zdarzało). Nie możemy zatem być w 100 proc. pewni, że Android 4.4.3, 4.5 czy 5.0 będzie napędzany przez ART, choć istnieje duże prawdopodobieństwo, ze tak właśnie się stanie.

ART to nie tylko ukłon w stronę użytkowników, ale też sprawny unik przed kolejnym ciosem ze strony Oracle. Przyczyną tych problemów była właśnie maszyna Dalvik, która wykorzystywała fragmenty kodu stworzone jeszcze za czasów, gdy Sun Microsystems było samodzielnym przedsiębiorstwem. Po wchłonięciu przez Oracle twórcy Javy oraz ich technologia posłużyły jako oręż w walce z zielonym robotem. Łącznie naliczono naruszenie 7 patentów, wobec których wystosowano 132 roszczenia. Co ciekawe, Oracle pierwotnie domagało się od Google astronomicznej kwoty 6,1 mld odszkodowania.

Wszystko wskazuje na to, że ART przyniesie Androidowi głównie korzyści. Aby jednak tak się stało, Google musi zadbać o to, by z implementacją nowej technologii zdążyli też programiści i zoptymalizowali swoje aplikacje pod jej kątem. Dzięki obecności środowiska w Androidzie 4.4 nie powinno to być szczególnie trudne. Widać jednak, że kalifornijski gigant śpieszy się z wdrożeniem nowego rozwiązania i tym samym uniezależnieniem się od czyhających na jego pieniądze konkurentów.