Logo pl.androidermagazine.com
Logo pl.androidermagazine.com

Android od A do Z: co to jest Dalvik

Anonim

Co to jest Dalvik? Słyszymy, jak to słowo jest szeroko rozpowszechniane w Internecie, gdy mówi się o Androidzie i jego wewnętrznych działaniach. Chociaż nie ma łatwego wyjaśnienia, które możemy podać tylko w kilku akapitach, możemy omówić podstawy i skierować cię we właściwym kierunku, jeśli chcesz nakarmić swoją nerwową stronę. Mówiąc najprościej, Dalvik jest maszyną wirtualną, która uruchamia aplikacje i kod napisany w Javie. Standardowy kompilator Java przekształca kod źródłowy (zapisany jako pliki tekstowe) w kod bajtowy, a następnie kompiluje w plik.dex, który może odczytać i używać maszyna wirtualna Dalvik. Zasadniczo pliki klas są konwertowane na pliki.dex (podobnie jak plik jar, jeśli używa się standardowej maszyny wirtualnej Java), a następnie odczytywane i wykonywane przez maszynę wirtualną Dalvik. Zduplikowane dane używane w plikach klas są dołączane tylko raz do pliku.dex, co oszczędza miejsce i zużywa mniej zasobów. Pliki wykonywalne można ponownie zmodyfikować podczas instalowania aplikacji, aby zoptymalizować urządzenia mobilne. Rzeczy, takie jak zamiana kolejności bajtów i łączenie struktury danych i wbudowanych bibliotek funkcji, zmniejszają pliki i działają lepiej na naszych urządzeniach. Dalvik VM został napisany od podstaw z myślą o Androidzie.

Zdezorientowany? Nie czuj się źle, maniakalne rozmowy programistyczne zwykle mają taki efekt. Pomyśl o tym w ten sposób - kiedy budujesz aplikację Java na swój komputer, wirtualna maszyna Java uruchamia skompilowane wyjście kodu źródłowego. Dlatego Java działa na prawie każdym systemie operacyjnym. Dalvik to zoptymalizowana pod kątem urządzeń mobilnych wirtualna maszyna Java, zbudowana z kodu z projektu Apache Harmony, który jest oprogramowaniem typu open source i działa lepiej niż standardowa maszyna wirtualna Java na naszym ograniczonym sprzęcie, zaprojektowana tak, aby można było uruchomić więcej niż jeden wystąpienie maszyny wirtualnej naraz - tj. wielozadaniowość. Ponieważ Dalvik jest oprogramowaniem typu open source, został również przeniesiony do innych systemów operacyjnych, takich jak ten na BlackBerry PlayBook. To cholernie skomplikowane, cholernie fajne, a Oracle (firma, która kupiła Javę od Sun) tego nie lubi.

Android korzysta z Dalvik, ponieważ chociaż licencja na standardową wirtualną maszynę wirtualną Java to GPL2 (darmowa i open source), to po umieszczeniu na urządzeniu mobilnym i korzystaniu z Java Micro Edition tak nie jest. Wielki spór między Google a Oracle dotyczy całego Dalvik. Google twierdzi, że został napisany w środowisku „czystego pokoju” bez użycia kodu Oracle, a Oracle się nie zgadza. Twierdzimy, że nie mamy pojęcia, cieszymy się, że działa tak dobrze, jak działa.