W świecie technologii nowe terminologie iskróty nie są niczym nowym, a czasami przy każdej nowej wersji nawet istniejącego oprogramowania może pojawić się nowy termin, który wydaje się, że wszyscy go używają i rozumieją. Problemem dla początkujących, a nawet wielu zwykłych użytkowników jest to, że nie w pełni rozumieją, co oznacza nowa konotacja, ani nie mogą łatwo dowiedzieć się o tym na własną rękę z oficjalnych źródeł, przede wszystkim dlatego, że programiści nie są zbyt chętnie wyjaśnia wiele takich terminologii i ich szczegóły techniczne. W najlepszym razie zostaniesz przekierowany do oficjalnego linku, który zawiera wyjaśnienie, ale w takich technicznych terminach, że jest bezużyteczny dla osób niebędących technikami.
W AddictiveTips zawsze byliśmy dumniogłuszanie pojęć technicznych i udzielanie odpowiedzi w sposób zrozumiały dla zwykłego użytkownika i początkującego technika. Dlatego, kiedy Google zdecydowało się wprowadzić ART z Androidem 4.4 KitKat, dostrzegliśmy w tym okazję do zapoznania naszych czytelników z nowym środowiskiem uruchomieniowym i pomóc wszystkim zrozumieć, o co w tym wszystkim chodzi i czym różni się od wirtualnej maszyny Dalvik ART jest budowany w celu zastąpienia.
Co to jest środowisko wykonawcze?
Zanim przejdziemy do odpowiedzi na pytanie,musimy zrozumieć, czym tak naprawdę jest środowisko wykonawcze. Mówiąc najprościej, środowisko wykonawcze składa się z instrukcji oprogramowania, które wykonują się podczas działania programu, nawet jeśli nie są one zasadniczo częścią kodu tego oprogramowania. Te instrukcje zasadniczo tłumaczą własny kod oprogramowania na kod, który komputer może uruchomić. Dlatego wszystkie języki komputerowe wymagają pewnego środowiska wykonawczego, które może poprawnie wykonać kod napisany w tym języku.
Android wykorzystuje maszynę wirtualną jako swojąśrodowisko wykonawcze w celu uruchomienia plików APK, które stanowią aplikację na Androida. Zaleta korzystania z maszyny wirtualnej jest dwojaka - po pierwsze, kod aplikacji jest izolowany od podstawowego systemu operacyjnego, co zapewnia, że jeśli coś pójdzie nie tak, jest zawarte w izolowanym środowisku i nie wpływa na główny system operacyjny. Po drugie, pozwala na wzajemną kompatybilność, co oznacza, że nawet jeśli aplikacja jest kompilowana na innej platformie (takiej jak komputer osobisty, jak to zwykle ma miejsce w przypadku tworzenia aplikacji mobilnych), nadal można ją uruchomić na platformie mobilnej za pomocą maszyny wirtualnej .
W przypadku systemu Android środowisko wykonawcze oparte na maszynie wirtualnejŚrodowisko w użyciu do tej pory znane jest jako Dalvik Virtual Machine, która, jestem pewien, że każdy, kto kiedykolwiek zagłębił się w szczegóły systemu operacyjnego, jest bardziej niż zaznajomiony.
Po co w ogóle korzystać z maszyny wirtualnej?
To właściwie punkt, który dotknęliśmy tuż powyżej. Maszyny wirtualne są wolne, nie można temu zaprzeczyć, ale w rzeczywistości mają kilka zalet, które sprawiają, że są ulubionym wyborem.
- Maszyny wirtualne zapewniają izolowane środowiskodo wykonania kodu. Dlatego nawet jeśli aplikacja zawiera złośliwy fragment kodu, który może uszkodzić podstawowy system operacyjny, nie wpłynie bezpośrednio na pliki systemowe, a zatem podstawowy system operacyjny będzie chroniony przed uszkodzeniem. Korzyścią na dużą skalę jest większa stabilność i niezawodność systemu operacyjnego.
- Aplikacje APK dostarczane za pośrednictwem Play Store(lub dowolne inne źródło) to nieskompilowane instrukcje, które programiści polegają na maszynie wirtualnej do skompilowania przed uruchomieniem i uruchomienia na urządzeniu. Zapewnia to większą kompatybilność; jeśli programista dostarczy już skompilowany kod i został skompilowany dla procesora opartego na Snapdragon, może on na przykład nie działać poprawnie na układzie Tegra. Dlatego ta kompilacja na urządzeniu rozwiązuje ten problem.
Czym jest Dalvik i co jest z nim nie tak?
To pytanie, które należy zadać, prawda? Dalvik istnieje od momentu uruchomienia Androida w 2007 roku i od tego czasu niewiele się zmieniło, oprócz podejścia kompilacji Just-In-Time (JIT) wprowadzonego w systemie Android 2.2 Froyo, które zasadniczo kompiluje aplikacje, gdy są uruchomiona lub gdy użytkownik dostarczy niezbędne instrukcje. Jest to przydatne, a także ulepszenie w stosunku do poprzedniego konwencjonalnego podejścia interpretera, które kompilowało i uruchamiało kod wiersz po wierszu podczas pracy, ale wada jest ogromnym obciążeniem, gdy aplikacja jest uruchamiana po raz pierwszy.
Jest tak, ponieważ system musi się połączyćwszystkie niezbędne pliki, skompiluj aplikację i załaduj ją do pamięci RAM. Tak długo, jak skompilowana aplikacja pozostanie w pamięci RAM, będzie reagować szybko, ale gdy załadujesz więcej aplikacji i skończy się pamięć RAM, pierwsza zostanie zwolniona, a zatem po kolejnym uruchomieniu cały proces zaczyna się od nowa. Podejście to ma sens na papierze i do tej pory działało dobrze dla platformy. Najbardziej cierpią jednak starsze urządzenia z ograniczoną pamięcią RAM, ponieważ cykl ładowania / rozładowywania trwa częściej, a zatem system jest powolny pod względem ogólnej reakcji. Właśnie tam pojawia się nowa maszyna wirtualna, ART.
Co to jest ART i jak to się poprawia?
ART lub Android RunTime (dość kiepskie imię, tak,wiemy) to nowa eksperymentalna maszyna wirtualna, którą firma Google wprowadziła wraz z Androidem 4.4 KitKat jako opcją programistyczną (na razie Dalvik nadal jest ustawieniem domyślnym). Podstawową różnicą między ART a Dalvik jest podejście kompilacyjne, które oba z nich wykorzystują - ART stosuje nową koncepcję Ahead-Of-Time (AOT) w przeciwieństwie do JIT Dalvik, która zasadniczo kompiluje aplikacje jeszcze przed ich uruchomieniem. Oznacza to, że pierwsze instalacje potrwają dłużej, a aplikacje zajmą więcej miejsca w pamięci wewnętrznej, ale jednocześnie, ponieważ aplikacja zostanie w pełni skompilowana, gdy tylko zostanie zainstalowana, czasy uruchamiania będą znacznie krótsze. Podobnie, ponieważ część kompilacyjna jest obsługiwana tylko raz w momencie instalacji, opodatkowanie procesora jest niższe, co skutkuje lepszą żywotnością baterii i ogólną wydajnością.
Dalvik vs. ART - porównanie
Po prostu dokonajmy szybkiego porównania obu maszyn wirtualnych, zanim przejdziemy do przodu.
Dalvik | SZTUKA |
Wykorzystuje podejście Just-In-Time (JIT), co powoduje mniejsze zużycie przestrzeni dyskowej, ale dłuższy czas ładowania aplikacji | Wykorzystuje podejście AOT-Of-Time (AOT), które kompiluje aplikacje po ich zainstalowaniu, co skraca czas ładowania i zmniejsza zużycie procesora |
Pamięć podręczna narasta z czasem, więc czasy uruchamiania są krótsze | Pamięć podręczna jest budowana przy pierwszym uruchomieniu, dlatego ponowne uruchomienie urządzenia trwa znacznie dłużej |
Działa lepiej w przypadku niższych urządzeń pamięci wewnętrznej, ponieważ zajmowane miejsce jest mniejsze | Zużywa znacznie więcej pamięci wewnętrznej, ponieważ oprócz plików APK przechowuje skompilowane aplikacje |
Jest stabilny i przetestowany czasowo - VM dla deweloperów aplikacji | Jest wysoce eksperymentalny i nowy - jeszcze niewiele wsparcia ze strony twórców aplikacji |
Mówisz, że ART jest eksperymentalny…
Tak, a teraz jest dostępny tylko w dniuurządzenia z chipsetami Snapdragon i systemem Android 4.4 KitKat. Jeśli chcesz, możesz przełączyć się z Dalvik na ART z ukrytych opcji programisty, ale pamiętaj, że niektóre aplikacje mogą nie działać poprawnie. Ponadto, jeśli pod Dalvik jest już wbudowana pamięć podręczna aplikacji, pierwsze ponowne uruchomienie po przełączeniu może potrwać do pół godziny.
Google udostępnia przede wszystkim ARTKitKat dla programistów do zabawy i ustanowienia podstaw dla trwałej zmiany w przyszłości. I to wcale nie oznacza, że ART jest dziś gotowy do użycia. Będzie w przyszłości, ale na razie jest eksperymentalny i nie nadaje się do codziennego użytku przez użytkownika końcowego.
Jeśli chodzi o zalety ART, są one mieszaneraporty. Dla większości recenzentów urządzenia testowe składają się z czterordzeniowych procesorów z ponad 2 gigabajtami pamięci RAM, co jest więcej niż wystarczającą konfiguracją, aby naprawdę obserwować wzrost prędkości z ART. Mimo to przypadkowi użytkownicy zgłaszają wzrost prędkości o ponad 50% i żywotności baterii o ponad 30%. Jeszcze inni twierdzą, że to tylko efekt placebo.
Szczerze mówiąc, nic nie można powiedzieć przed tymstaje się dostępny dla mas i traci eksperymentalny tag. Dlatego zapiszemy tę debatę na później. W tym miejscu można z całą pewnością powiedzieć, że ART to przyszłość. Google wybierze kompilację z wyprzedzeniem, aby naprawdę dopasować iOS, to największy odpowiednik, a ART utoruje drogę. Bez względu na to, jak głupia może się wydawać nazwa lub jak niekompletna jest w tej chwili, będziemy nadal widzieć ART coraz więcej.
Komentarze