Un motiv pentru popularitatea sistemului de operare mobil Google a devenit o aplicație de dezvoltare relativ ușor pentru ea. Datorită acestui lucru, magazinul de software Google Play a fost rapid umplut cu utilitare. Acest lucru a devenit posibil cu ajutorul mașinii virtuale Dalvik, care a convertit codul aplicației într-un procesor de telefon mobil sau de tabletă care era de înțeles. Programatorii scrie modul în care li se potrivește, și ei nu au nevoie să vă faceți griji cu privire la ce fel de chip este în valoare de utilizator gadget de la Qualcomm, Intel, Mediatek, nVidia, Samsung, sau alt furnizor.
Google a luptat mult timp cu această problemă: primul pas important a fost proiectul Butter Project, anunțat cu Android 4.1 Jelly Bean. Mulțumită lui, sistemul de operare a devenit oarecum mai rapid pentru a răspunde acțiunilor utilizatorilor, dar în general problema a rămas. Prin urmare, Google a creat pregătirea ART - înlocuitor pentru mașina virtuală Dalvik.
Orice program utilizează o mulțime de acțiuni standard: afișarea imaginii pe ecran, scrierea fișierelor în memorie, transferarea fișierelor prin Bluetooth sau Wi-Fi. Pentru a face viața mai ușoară pentru programatori, sistemul de operare are funcții încorporate pentru a efectua aceste sarcini. Dezvoltatorul trebuie doar să precizeze în aplicația sa "copiați fișierul XXX pe cartela de memorie din folderul UU". Nu-i pasă de modul în care se face acest lucru și de resursele de sistem necesare pentru acest lucru.
De asemenea, programatorii scriu programe "defecte" care au erori în cod, "pierde" memoria și altele asemenea. O mașină virtuală vă permite să izolați utilitățile unul de celălalt și din nucleul sistemului de operare. Acest accident al aplicației nu afectează sistemul de operare și alte programe care rulează. Fără acest lucru, o eroare în utilitate va provoca întreruperea întregului sistem. Utilizatorii mai vechi își pot aminti cum erorile din software-ul aplicației au condus la un "ecran albastru al morții" pe desktopurile Windows 95 și 98 care nu aveau astfel de mecanisme de virtualizare.Fișierele APK descărcate de un utilizator din Magazin Google Play sau de pe orice alt server sunt cod necomplicat. Niciun computer nu îl poate executa, pentru că pur și simplu "nu înțelege". În cazul în care utilitățile sunt incluse în forma „de fier“ deja compilate și ușor de înțeles, atunci unii dintre ei ar fi lucrat, de exemplu, dispozitive cu chipset-ul Snapdragon, dar ar produce o eroare atunci când rula pe gadget-uri cu cipuri Tegra.
Fiecare producător adaptează Dalvik pentru procesor și hardware. Datorită acestui fapt, același program poate funcționa pe gadget-uri de aproape orice producător fără a modifica codul sursă. Și din acest motiv, nu puteți instala doar o nouă versiune de Android într-un dispozitiv ca reinstalarea Windows.
Ce este Dalvik și de ce este nevoie de înlocuire
Mașina virtuală ART (standard Android Runtime - timpul de executare a programelor Android) se află încă în stadiul experimental, dar îl puteți încerca deja în Android 4.4 KitKat. Utilizatorii de dispozitive cu această versiune de sistem de operare pot trece de la standardul Dalvik la ART.
Principala diferență dintre aceste mașini virtuale este abordarea de compilare. Dacă Dalvik convertește codul în timp real imediat după pornirea utilităților, ART o face în avans pentru instalare. Aceasta înseamnă o creștere a timpului de instalare a utilităților și un volum mai mare ocupat în memoria flash a dispozitivului. Dar aceasta înseamnă, de asemenea, accelerarea lansării și reducerea cerințelor privind resursele hardware, în special cantitatea de memorie RAM. Acesta este motivul pentru Android 4.4 KitKat, potrivit Google, va fi capabil să lucreze rapid și stabil pe gadget-uri cu 512 MB de memorie RAM. O nouă abordare a conversiei codului va reduce, de asemenea, consumul de baterii. Comparați volumul acelorași programe utilizând Dalvik (stânga) și ART (dreapta)În general, mașina virtuală ART promite multe îmbunătățiri față de Dalvik existente. Avantajele și dezavantajele fiecăruia pot fi văzute în tabelul de mai jos: