ART zamiast Dalvik: dlaczego Android 4.4 „zjada” mniej zasobów

Wraz z wydaniem nowych wersji Androida ten system wymagał coraz większej ilości pamięci RAM (RAM) Wraz z wydaniem nowych wersji Androida ten system wymagał coraz większej ilości pamięci RAM (RAM). Pierwsze urządzenia z 256 MB pamięci RAM, ale dziś jeden gigabajt może nie wystarczyć. Jednak Google podjął optymalizację i wydał Android 4.4 KitKat. Ta wersja systemu operacyjnego jest szybsza, ale wymaga mniej zasobów. Stało się to możliwe dzięki przejściu z systemu Dalvik na ART. O tym, co to jest i dlaczego smartfony z Androidem 4.4 i będą działać szybciej na słabych procesorach, przeczytaj poniżej.

Jedną z przyczyn popularności mobilnego systemu operacyjnego Google była względna łatwość tworzenia aplikacji. Dzięki temu sklep z programem Google Play został szybko wypełniony programami narzędziowymi. Stało się to możliwe dzięki pomocy maszyny wirtualnej Dalvik, która przekształciła kod aplikacji w mobilny lub przyjazny dla tabletu procesor. Programiści piszą, jak są wygodne, i nie muszą przejmować się tym, który chipset znajduje się w gadżecie użytkownika: od Qualcomm, Intel, Mediatek, nVidia, Samsung lub innego dostawcy.

Ze względu na fakt, że kod aplikacji w locie przekształca się w przejrzysty sprzęt gadżetowy, dla programistów bardzo wygodne jest tworzenie własnych programów. Ale z powodu tego pośrednika w postaci maszyny wirtualnej Dalvik, procesor urządzenia musi wykonać kilka razy więcej czynności: odczytać kod, przekształcić go w zrozumiały sprzęt, wykonać go i wyświetlić wynik na ekranie. Konsekwencje tej architektury mogą być obserwowane przez prawie każdego właściciela urządzenia z systemem Android w postaci interfejsu opóźniającego. Gdy smartfon nie jest załadowany grami i obliczeniami, pamięć RAM jest wolna, ale samo przerzucenie ekranu nadal powoduje drugie opóźnienie.

Google już od dawna radzi sobie z tym problemem: pierwszym ważnym krokiem był projekt Project Butter, ogłoszony wraz z Androidem 4.1 Jelly Bean. Dzięki niemu system operacyjny stał się nieco szybszy w reagowaniu na działania użytkowników, ale ogólnie problem pozostaje. Dlatego w Google stworzono ART - zamiennik maszyny wirtualnej Dalvik.

Dlaczego Android potrzebuje maszyny wirtualnej

Każdy program wykorzystuje wiele standardowych działań: wyświetlanie obrazów na ekranie, zapisywanie plików w pamięci, przesyłanie plików przez Bluetooth lub Wi-Fi. Aby ułatwić życie programistom, system operacyjny ma wbudowane funkcje do tych zadań. Wystarczy, że programista wskaże w swojej aplikacji „skopiuj plik XXX na kartę pamięci w folderze UUU”. Nie obchodzi go, jak to się robi i ile zasobów systemowych są wymagane.

Programiści często piszą programy „wadliwe”, które mają błędy w kodzie, „tracą” pamięć i tym podobne Programiści często piszą programy „wadliwe”, które mają błędy w kodzie, „tracą” pamięć i tym podobne. Maszyna wirtualna umożliwia izolowanie narzędzi od siebie nawzajem i od jądra systemu operacyjnego. Z tego powodu upadek aplikacji nie wpływa na system operacyjny i inne działające programy. Bez tego błąd w narzędziu prowadzi do zawieszenia całego systemu. Starsi użytkownicy mogą pamiętać, że błędy w oprogramowaniu aplikacji doprowadziły do ​​niebieskiego ekranu śmierci w systemie operacyjnym Windows 95 i 98, który nie miał podobnych mechanizmów wirtualizacji.

Pliki w formacie APK pobierane przez użytkownika ze sklepu Google Play lub dowolnego innego serwera są kodem nieskompilowanym. Żaden komputer nie będzie w stanie go wykonać, ponieważ po prostu „nie zrozumie”. Jeśli narzędzia zostały dostarczone w formie już skompilowanej i zrozumiałej dla sprzętu, niektóre z nich działałyby na przykład na urządzeniach z chipsetem Snapdragon, ale powodowałyby błąd podczas uruchamiania gadżetów z chipami Tegra.

Każdy producent dostosowuje Dalvik do swojego procesora i sprzętu. Z tego powodu ten sam program może działać na gadżetach prawie każdego producenta bez edycji kodu źródłowego. Z tego powodu możesz nie tylko wziąć i zainstalować nową wersję Androida w urządzeniu, takim jak ponowna instalacja systemu Windows.

Czym jest Dalvik i dlaczego wymaga wymiany

Wirtualna maszyna Dalvik (nazwana na cześć islandzkiego portu rybackiego Dalvik) jest obecna na Androida od samego początku tego systemu operacyjnego w 2007 roku. Od tego czasu nastąpiła tylko jedna poważna zmiana: w systemie Android 2.2 Froyo kod z APK został przekształcony w kod maszynowy w locie zaraz po uruchomieniu narzędzia przez użytkownika. Poprzednio był przetwarzany po linii podczas wykonywania programu na urządzeniu mobilnym. Nowe podejście pozwoliło nam uprościć uruchamianie narzędzi i ich pracę, ale miało to wpływ na wymagania dotyczące zasobów sprzętowych. A dziś już jeden gigabajt pamięci RAM może nie wystarczyć do szybkiego działania telefonu komórkowego.

Czym jest ART i jak pomoże Androidowi

Wirtualna maszyna ART (oznacza Android RunTime - środowisko do wykonywania programów na Androida) jest nadal w fazie eksperymentalnej, ale możesz już wypróbować ją w Androidzie 4.4 KitKat. Użytkownicy urządzeń z tą wersją systemu operacyjnego mogą przełączyć się z domyślnego Dalvik na ART.

Główną różnicą między tymi maszynami wirtualnymi jest podejście kompilacyjne Główną różnicą między tymi maszynami wirtualnymi jest podejście kompilacyjne. Jeśli Dalvik konwertuje kod w czasie rzeczywistym natychmiast po uruchomieniu narzędzi, ART robi to z wyprzedzeniem podczas instalacji. Oznacza to wydłużenie czasu instalacji narzędzi i zwiększenie zajmowanej przestrzeni w pamięci flash urządzenia. Ale oznacza to również przyspieszenie uruchomienia i zmniejszenie wymagań dotyczących zasobów sprzętowych, zwłaszcza ilości pamięci RAM. Dlatego Android 4.4 KitKat, według Google, będzie mógł pracować szybko i stabilnie na gadżetach z 512 MB pamięci RAM. Nowe podejście do konwersji kodu zmniejszy również zużycie baterii.

Porównaj głośność tych samych programów podczas używania Dalvik (po lewej) i ART (po prawej)

Dalvik vs. ART - porównanie

Ogólnie rzecz biorąc, maszyna wirtualna ART obiecuje wiele ulepszeń w stosunku do istniejącej Dalvik. Zalety i wady każdego z nich można zobaczyć w poniższej tabeli:

Dalvik

ART

Konwertuje pliki APK na kod przyjazny dla procesora w locie, co wymaga mniej pamięci flash do przechowywania, ale z tego powodu aplikacje działają dłużej

Konwertuje pliki APK na kod przyjazny dla procesora, gdy są zainstalowane. Wymaga to mniej zasobów procesora podczas uruchamiania i skraca czas uruchamiania programu.

Z czasem kod programu maszyny jest buforowany, co prowadzi do szybszego ładowania telefonu komórkowego.

Pamięć podręczna kodów maszynowych jest tworzona po pierwszym załadowaniu telefonu komórkowego, co sprawia, że ​​włącza się znacznie dłużej

Najlepiej nadaje się do urządzeń z dyskiem flash o małej pojemności, ponieważ pamięć podręczna kodu maszynowego zajmuje mniej miejsca

Zużywa znacznie więcej pamięci flash (o 10-20%), ponieważ oprócz plików APK przechowuje skompilowany kod maszynowy każdego programu.

Stabilny i sprawdzony

Można znaleźć nowe i eksperymentalne, nieprzewidziane błędy i niedociągnięcia

Wypróbuj eksperymentalną ART

Nowy kompilator jest w trakcie opracowywania i badań, ale użytkownicy mogą już go wypróbować. Jest dostępny dla właścicieli urządzeń z systemem Android 4.4 KitKat i opartych na chipsecie Snapdragon. Ci, którzy decydują się na wypróbowanie nowego produktu, powinni pamiętać, że nowa maszyna wirtualna może sprawić, że niektóre narzędzia nie będą działać. Ponadto po ponownym uruchomieniu smartfon może wymagać do pół godziny na uruchomienie - tym razem zbudowanie pamięci podręcznej aplikacji zajmie ART.

Aby włączyć ART zamiast Dalvik, musisz wejść do menu programisty. Aby aktywować tę ostatnią, musisz otworzyć ustawienia smartfona i przejść do sekcji „Informacje o telefonie”. W tym miejscu należy wielokrotnie klikać przycisk „Numer wersji”, aż system operacyjny poinformuje, że dostępne jest nowe menu. Następnie musisz wybrać używaną maszynę wirtualną i ponownie uruchomić urządzenie.

Ogólnie, testy użytkowników, którzy przeszli na ART, wskazują na ogólne przyspieszenie pracy o około 50% i wydłużenie żywotności baterii do 30% Ogólnie, testy użytkowników, którzy przeszli na ART, wskazują na ogólne przyspieszenie pracy o około 50% i wydłużenie żywotności baterii do 30%.

Na podstawie: Addictivetips