Windows 7 Forum: konfiguracja, optymalizacja, porady, gadżety •
System Android doczeka się dużej optymalizacji? - Wersja do druku

+- Windows 7 Forum: konfiguracja, optymalizacja, porady, gadżety • (https://windows7forum.pl)
+-- Dział: Windows 7 (/windows-7-4-f)
+--- Dział: Newsy i aktualności o Windows 7 (/newsy-i-aktualnosci-o-windows-7-6-f)
+---- Dział: Aktualności i wydarzenia branży IT (/aktualnosci-i-wydarzenia-branzy-it-52-f)
+---- Wątek: System Android doczeka się dużej optymalizacji? (/system-android-doczeka-sie-duzej-optymalizacji-37244-t)



System Android doczeka się dużej optymalizacji? - Portator - 09.11.2013 07:02

[Obrazek: android_kitkat_min1.png]
Android nie należy do szczególnie szybkich systemów operacyjnych jeżeli działa na słabym sprzęcie. Mobilny produkt od Google w głównej mierze opiera się na Javie z jednej prostej przyczyny – Javę uruchomimy praktycznie wszędzie, niezależnie czy jest to telefon, komputer czy oprogramowanie wbudowane w dekoder. Ogromną wadą tego języka jest zasobożerność oraz niska wydajność. Niestety, konieczność uruchamiania kodu bajtowego w wirtualnej maszynie powoduje wzrost wymagań systemowych. Android posiada własną wirtualną maszynę o nazwie Dalvik. Działa ona na takiej zasadzie, że po uruchomieniu dowolnej aplikacji kod programu przechodzi przez tak zwany kompilator Just-In-Time, którego zadaniem jest optymalizacja kodu bajtowego. Kod bajtowy wędruje kolejno do interpretera, gdzie jest uruchamiany i na ekranie telefonu pojawia się wcześniej wybrana aplikacja. Zaletą tego rozwiązania jest łatwość uruchamiania programów bez względu na zastosowaną architekturę sprzętową, a wadą marnotrawstwo zasobów i energii.

W najnowszej wersji systemu Android oznaczonym numerem 4.4 wbudowano nową maszynę wirtualną o nazwie ART. Proces uruchamiania aplikacji w tym przypadku wygląda trochę inaczej - kompilator AOT (ahead-of-time) przekształca kod bajtowy na kod maszynowy oraz wszelkie optymalizacje wprowadzane są tylko raz. Końcowy efekty wygląda tak, że w przypadku Dalvika aplikacja wciąż działa w wirtualnej maszynie, zaś AOT kompiluje kod do postaci natywnej, dzięki czemu aplikacje potrzebują mniej zasobów oraz mocy obliczeniowej. Niestety, wszystko ma swoje wady i w przypadku zastosowania nowego kompilatora aplikacje zainstalowane na telefonie będą zajmować więcej miejsca. Kod maszynowy jest rozmiarowo większy niż kod bajtowy.

Istnieje realna możliwość przetestowania nowego kompilatora. W ustawieniach telefonu należy wejść do Developer Settings i zmienić środowisko uruchomieniowe aplikacji. Trzeba jednak mieć na uwadze to, że aktualna wersja jest bardzo mocno eksperymentalna i może działać niestabilnie. Wszelkie operacie wykonujecie na własną odpowiedzialność. Nie wiadomo kiedy ART stanie się domyślnym środowiskiem uruchomieniowym w Androidzie. Droga jest w prawdzie wyboista, lecz włożony wysiłek z pewnością będzie skutkować znacznym wzrostem wydajności systemu operacyjnego.

Źródło: Source Android