Dalvik VM (maszyna wirtualna) to wersja wirtualnej maszyny Java Java firmy Google (na której działają aplikacje). Maszyny wirtualne utrzymują aplikacje w izolacji i są niezależne od rzeczywistego sprzętu i innych aplikacji. Aby to zadziałało, Dalvik musi przekonwertować tzw. Kod bajtowy (zaprojektowany dla maszyny wirtualnej) na natywny kod maszynowy. W celu zminimalizowania ograniczenia wydajności wprowadzanego przez konwersję kodu bajtowego na kod natywny, wykonywany jest proces zwany kompilacją Just-In-Time (JIT), który konwertuje gorący, tj. Często używany, kod bajtowy na kod natywny. 1
ART (Android Runtime) to zamiennik dla Dalvik, który korzysta z kompilacji Ahead-Of-Time (AOT), co oznacza, że Twoje aplikacje są kompilowane do stanu gotowości do uruchomienia przed ich uruchomieniem. Zazwyczaj odbywa się to w momencie instalacji aplikacji, dzięki czemu proces uruchamiania i korzystania z nich jest znacznie szybszy i płynniejszy. A ponieważ oznacza to, że kompilacja jest wykonywana tylko raz, możesz także zobaczyć lepszą żywotność baterii.
Jeśli ART jest lepszy pod względem wydajności i żywotności baterii, czy powinienem zacząć go używać?
Nie. Jeśli to zrobisz, możesz uszkodzić aplikacje innych firm. Google udostępnił ten podgląd ART wraz z Androidem 4.4, aby programiści mogli przetestować na nim swoje aplikacje.
Uwaga dodatkowa: podejście Google z ART polega na pokonaniu iOS (aplikacje na iOS są natywne, więc działa lepiej nawet na słabszych specyfikacjach sprzętowych), ale nie wiem, dokąd zmierza ... Kolejna fragmentacja? Zobacz, jak producenci OEM mogą budować urządzenia za pomocą jednego lub obu . Chociaż ostateczna wersja nie powinna wpływać na większość aplikacji, ale nie jest w 100% wieloplatformowa.
1 Uwaga: JIT został dodany do Dalvik w Androidzie 2.2