Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • Știri
  • Care este mai bine dalvik sau artă. Înțelegem complexitățile programelor Art și Dalvik

Care este mai bine dalvik sau artă. Înțelegem complexitățile programelor Art și Dalvik

Odată cu lansarea noilor versiuni de Android, acest sistem de operare a necesitat din ce în ce mai multă memorie cu acces aleatoriu (RAM). Primele dispozitive cu acesta aveau 256 MB de RAM, dar astăzi un gigabyte poate să nu mai fie suficient. Cu toate acestea, Google a preluat optimizarea și a lansat Android 4.4 KitKat. Această versiune a sistemului de operare este mai rapidă, dar necesită mai puține resurse. Acest lucru a devenit posibil datorită trecerii de la sistemul Dalvik la ART. Citiți mai jos despre ce este și de ce smartphone-urile cu Android 4.4 vor funcționa mai repede pe procesoare slabe.

Unul dintre motivele popularității sistemului de operare mobil Google este relativa ușurință de a dezvolta aplicații pentru acesta. Datorită acestui fapt, magazinul de software Google Play a fost rapid umplut cu utilități. Acest lucru a devenit posibil cu ajutorul mașinii virtuale Dalvik, care a transformat codul aplicației în ceva de înțeles pentru procesorul unui telefon mobil sau tabletă. Programatorii scriu în modul care le convine și nu trebuie să-și facă griji cu privire la ce chipset este în gadgetul utilizatorului: de la Qualcomm, Intel, Mediatek, nVidia, Samsung sau alt furnizor.

Datorită faptului că codul aplicației este transformat din mers în ceva de înțeles pentru hardware-ul gadgetului, este foarte convenabil pentru dezvoltatori să-și creeze propriile programe. Dar din cauza acestui intermediar sub forma mașinii virtuale Dalvik, procesorul dispozitivului trebuie să efectueze de câteva ori mai multe acțiuni: să citească codul, să-l transforme în ceva de înțeles de hardware, să-l execute și să afișeze rezultatul pe ecran. Consecința acestei arhitecturi ar putea fi observată de aproape fiecare proprietar al unui dispozitiv Android sub forma unei interfețe lente. Când smartphone-ul nu este încărcat cu jocuri și calcule, memoria RAM este liberă, dar simpla răsturnare a ecranului provoacă o a doua întârziere.

Google a început să lupte cu această problemă cu mult timp în urmă: primul pas serios a fost Project Butter, anunțat împreună cu Android 4.1 Jelly Bean. Datorită acesteia, sistemul de operare a început să răspundă oarecum mai rapid la acțiunile utilizatorului, dar în general problema a rămas. Prin urmare, Google a creat și pregătește ART - un înlocuitor pentru mașina virtuală Dalvik.

Pentru ceEste nevoie de Androidvirtualmașină

Orice program folosește multe acțiuni standard: afișarea unei imagini pe ecran, scrierea fișierelor în memorie, transferul fișierelor prin Bluetooth sau Wi-Fi. Pentru a ușura viața programatorilor, sistemul de operare are funcții încorporate pentru a îndeplini aceste sarcini. Dezvoltatorul trebuie doar să indice în aplicația sa „copiați fișierul XXX pe cardul de memorie din folderul UUU”. Nu-i pasă cum se face sau de câte resurse de sistem necesită.

De asemenea, programatorii scriu adesea programe „defecte” care au erori în cod, „pierde” memorie și altele asemenea. O mașină virtuală vă permite să izolați utilitățile unele de altele și de nucleul sistemului de operare. Datorită acestui fapt, blocările aplicației nu afectează sistemul de operare și alte programe care rulează. Fără aceasta, o eroare a utilitarului face ca întregul sistem să înghețe. Utilizatorii mai în vârstă își pot aminti cum erorile din software-ul aplicației au dus la „ecranul albastru al morții” în sistemele de operare desktop Windows 95 și 98, care nu aveau mecanisme de virtualizare similare.

Fișierele APK pe care un utilizator le descarcă de pe Google Play Store sau de pe orice alt server sunt cod necompilat. Niciun computer nu o poate face pentru că pur și simplu „nu înțelege”. Dacă utilitățile ar fi furnizate într-o formă deja compilată și ușor de înțeles pentru hardware, atunci unele dintre ele ar funcționa, de exemplu, pe dispozitive cu chipset Snapdragon, dar ar da o eroare atunci când ar fi lansate pe gadgeturi cu cipuri Tegra.

Fiecare producător adaptează Dalvik la procesorul și hardware-ul său. Datorită acestui lucru, același program poate rula pe gadgeturi de la aproape orice producător fără a-și edita codul sursă. Și din acest motiv nu puteți instala pur și simplu o nouă versiune de Android pe dispozitivul dvs., cum ar fi reinstalarea Windows.

Ce s-a întâmplatDalvik și de ce necesită înlocuire

Mașina virtuală Dalvik (numită după portul de pescuit islandez Dalvik) este prezentă în Android încă de la lansarea acestui sistem de operare în 2007. De atunci, a suferit o singură schimbare majoră: în Android 2.2 Froyo, codul din APK a fost transformat din mers în cod de mașină imediat după ce utilizatorul a lansat utilitarul. Anterior, era procesat linie cu linie în timpul execuției programului pe un dispozitiv mobil. Noua abordare a ușurat lansarea utilităților și funcționarea acestora, dar acest lucru a afectat cerințele pentru resursele hardware. Și astăzi, doar un gigabyte de memorie RAM poate să nu fie suficient pentru ca un telefon mobil să funcționeze rapid.

Ceastfel deARTA șiCumeava ajutaAndroid

Mașina virtuală ART (stand pentru Android RunTime - Android runtime environment) este încă în stadiu experimental, dar o puteți încerca deja în Android 4.4 KitKat. Utilizatorii dispozitivelor care rulează această versiune de sistem de operare pot trece de la Dalvik implicit la ART.

Principala diferență dintre aceste mașini virtuale este abordarea compilației. Dacă Dalvik convertește codul în timp real imediat după lansarea utilităților, atunci ART face acest lucru în avans în timpul instalării. Aceasta înseamnă o creștere a timpului de instalare pentru utilități și o amprentă mai mare în memoria flash a dispozitivului. Dar asta înseamnă și o pornire mai rapidă și cerințe reduse pentru resursele hardware, în special cantitatea de RAM. De aceea, Android 4.4 KitKat, conform Google, va putea rula rapid și stabil pe gadgeturi cu 512 MB de RAM. Noua abordare a conversiei codului va reduce, de asemenea, consumul de baterie.


Comparați volumul acelorași programe folosind Dalvik (stânga) și ART (dreapta)

Dalvik vs.ART - comparație

În general, mașina virtuală ART promite multe îmbunătățiri față de Dalvik existent. Avantajele și dezavantajele fiecăruia pot fi văzute în tabelul de mai jos:

Convertește fișierele APK în cod care poate fi citit de CPU din mers, ceea ce necesită mai puțin spațiu de stocare flash, dar lansarea aplicațiilor durează mai mult

Convertește fișierele APK în cod care poate fi citit de CPU înainte de a fi instalate. Acest lucru necesită mai puține resurse CPU la pornire și reduce timpul de pornire a programului

În timp, codul mașinii este stocat în cache, ceea ce duce la o încărcare mai rapidă a telefonului mobil

Cache-ul codului mașinii este creat la prima pornire a telefonului mobil, motiv pentru care pornirea durează mult mai mult

Mai potrivit pentru dispozitivele cu stocare flash de capacitate redusă, deoarece memoria cache a codului de mașină ocupă mai puțin spațiu

Consumă mult mai multă memorie flash (10-20%), deoarece pe lângă fișierele APK stochează codul de mașină compilat al fiecărui program

Stabil și testat în timp

Pot apărea erori și deficiențe noi și experimentale, neașteptate

Încercați experimentalARTĂ

Noul compilator este în curs de dezvoltare și cercetare, dar utilizatorii îl pot încerca deja. Este disponibil pentru proprietarii de dispozitive care rulează Android 4.4 KitKat și se bazează pe chipset-ul Snapdragon. Cei care decid să încerce noul produs ar trebui să-și amintească că noua mașină virtuală poate face unele utilități inoperabile. În plus, după o repornire, pornirea smartphone-ului poate dura până la jumătate de oră - acesta este timpul pe care ART va avea nevoie pentru a crea un cache al aplicației.

Pentru a activa ART în loc de Dalvik, trebuie să intrați în meniul dezvoltatorului. Pentru a activa cel din urmă, trebuie să deschideți setările smartphone-ului și să accesați secțiunea „Despre telefon”. Acolo trebuie să faceți clic pe butonul „Număr versiune” de mai multe ori până când sistemul de operare raportează disponibilitatea noului meniu. După aceasta, trebuie să selectați mașina virtuală de utilizat și să reporniți dispozitivul.

În general, testele de la utilizatorii care au trecut la ART arată o accelerare generală de aproximativ 50% și o creștere a duratei de viață a bateriei de până la 30%.

Până acum am reușit să găsim astfel de informații pe site-ul Youhtc.ru
"
În ultimii ani, o parte importantă a muncii creatorilor de Android a fost lupta împotriva principalei „boli” congenitale a sistemului - întârzierile în animația interfeței. Primul pas serios în această direcție a fost Proiectul Butter, anunțat împreună cu Android 4.1 Jelly Bean și a „accelerat” cu adevărat sistemul, dar nu a rezolvat complet problema. Google realizează acest lucru, așa că pregătesc ART - un înlocuitor pentru mașina virtuală Dalvik.

Chiar și acum, în era procesoarelor multi-core puternice, în anumite circumstanțe puteți observa că animația în Android nu este desenată perfect și există întârzieri vizibile între unele acțiuni. Problema este complexă, așa că au trebuit făcuți mulți pași pentru a o rezolva - unul dintre ei a fost înlocuirea lui Dalvik cu precompilatorul ART.

Acum, codul Android rulează într-un motor Java creat de Google special pentru dispozitivele mobile și este convertit „din zbor” în cod hardware (Compilare Just-In-Time). Acest mecanism permite dezvoltatorului de aplicații să nu fie practic legat de o anumită arhitectură sau hardware, dar provoacă daune grave performanței prin încărcarea procesorului în timpul compilării. Desigur, după prima lansare foarte lentă a programului, o parte din codul „nativ” rezultat este stocată în cache, dar acest lucru nu rezolvă complet problema întârzierilor.

ART este un compilator AOT (Ahead-Of-Time) care convertește codul Java în cod „nativ” în timpul procesului de instalare a aplicației. Adică, utilizatorul rulează programul deja compilat, ceea ce accelerează semnificativ deschiderea și execuția acestuia. Este de două ori interesant că ART este deja încorporat în Android 4.4 KitKat și poate fi activat în meniul dezvoltatorului. După trecerea la libart.so (biblioteca compilatorului), dispozitivul repornește și compilează toate aplicațiile deja instalate. Băieții de la Android Police, care au studiat cu atenție ART, susțin că acest lucru nu ar trebui făcut încă pe firmware personalizat de la AOSP - pot apărea probleme cu pachetul software de la Google.

Chiar și ținând cont de starea incompletă a ART, trecerea la acesta afectează în mod semnificativ viteza de execuție a sarcinilor consumatoare de resurse și netezimea interfeței și, de asemenea, permite procesoarelor cu mai multe nuclee să dezactiveze nucleele neutilizate mai des, ceea ce oferă un câștig în durata de viață a bateriei dispozitivului. Noul sistem de compilare are dezavantaje, deși cu greu pot fi numite semnificative: timp de instalare mai lung și o creștere a dimensiunii finale a programului cu 10-20%. Adevărat, doar partea de cod crește în dimensiune, care adesea ocupă mai puțin de jumătate din aplicație - multimedia (imagini, sunet, video) și alte date nu se schimbă în dimensiune.

Se pare că Google lucrează la ART de câțiva ani, iar includerea sa în KitKat este o decizie absolut deliberată, permițând creatorilor de sistem să efectueze teste serioase, iar dezvoltatorilor de aplicații să se pregătească pentru viitoarea „plecare” a lui Dalvik. Nu este încă clar cât de mult a fost influențat noul compilator de dezvoltatorii de la FlexyCore, pe care Google l-a cumpărat în octombrie a acestui an, dar proiectul a început chiar în cadrul gigantului de căutare.

Google nu a spus încă cât de curând ART îl va înlocui pe Dalvik, dar nimic nu împiedică corporația să facă acest lucru în următoarea versiune a sistemului. Interesant, ca și Project Butter, compilatorul nu necesită efort din partea dezvoltatorilor de aplicații - vor scrie în continuare cod într-un limbaj binecunoscut, folosind practici dovedite.
"

Nu am un dispozitiv care rulează Android 4.4 pentru a încerca noua tehnologie, dar este deja disponibilă o imagine de sistem de la Google, pe care o puteți „atinge” în emulator.

Mai am întrebări despre dacă această funcție va fi disponibilă pe alte dispozitive Android 4.4 non-Google: Samsung, HTC etc. Toate funcțiile aplicației vor funcționa corect după transferul pe noua platformă?

Sunt foarte putine informatii, va rog sa scrieti in comentarii unde poate fi gasita intr-o dimensiune mai mare.

Până acum am reușit să găsim astfel de informații pe site-ul Youhtc.ru
"
În ultimii ani, o parte importantă a muncii creatorilor de Android a fost lupta împotriva principalei „boli” congenitale a sistemului - întârzierile în animația interfeței. Primul pas serios în această direcție a fost Proiectul Butter, anunțat împreună cu Android 4.1 Jelly Bean și a „accelerat” cu adevărat sistemul, dar nu a rezolvat complet problema. Google realizează acest lucru, așa că pregătesc ART - un înlocuitor pentru mașina virtuală Dalvik.

Chiar și acum, în era procesoarelor multi-core puternice, în anumite circumstanțe puteți observa că animația în Android nu este desenată perfect și există întârzieri vizibile între unele acțiuni. Problema este complexă, așa că au trebuit făcuți mulți pași pentru a o rezolva - unul dintre ei a fost înlocuirea lui Dalvik cu precompilatorul ART.

Acum, codul Android rulează într-un motor Java creat de Google special pentru dispozitivele mobile și este convertit „din zbor” în cod hardware (Compilare Just-In-Time). Acest mecanism permite dezvoltatorului de aplicații să nu fie practic legat de o anumită arhitectură sau hardware, dar provoacă daune grave performanței prin încărcarea procesorului în timpul compilării. Desigur, după prima lansare foarte lentă a programului, o parte din codul „nativ” rezultat este stocată în cache, dar acest lucru nu rezolvă complet problema întârzierilor.

ART este un compilator AOT (Ahead-Of-Time) care convertește codul Java în cod „nativ” în timpul procesului de instalare a aplicației. Adică, utilizatorul rulează programul deja compilat, ceea ce accelerează semnificativ deschiderea și execuția acestuia. Este de două ori interesant că ART este deja încorporat în Android 4.4 KitKat și poate fi activat în meniul dezvoltatorului. După trecerea la libart.so (biblioteca compilatorului), dispozitivul repornește și compilează toate aplicațiile deja instalate. Băieții de la Android Police, care au studiat cu atenție ART, susțin că acest lucru nu ar trebui făcut încă pe firmware personalizat de la AOSP - pot apărea probleme cu pachetul software de la Google.

Chiar și ținând cont de starea incompletă a ART, trecerea la acesta afectează în mod semnificativ viteza de execuție a sarcinilor consumatoare de resurse și netezimea interfeței și, de asemenea, permite procesoarelor cu mai multe nuclee să dezactiveze nucleele neutilizate mai des, ceea ce oferă un câștig în durata de viață a bateriei dispozitivului. Noul sistem de compilare are dezavantaje, deși cu greu pot fi numite semnificative: timp de instalare mai lung și o creștere a dimensiunii finale a programului cu 10-20%. Adevărat, doar partea de cod crește în dimensiune, care adesea ocupă mai puțin de jumătate din aplicație - multimedia (imagini, sunet, video) și alte date nu se schimbă în dimensiune.

Se pare că Google lucrează la ART de câțiva ani, iar includerea sa în KitKat este o decizie absolut deliberată, permițând creatorilor de sistem să efectueze teste serioase, iar dezvoltatorilor de aplicații să se pregătească pentru viitoarea „plecare” a lui Dalvik. Nu este încă clar cât de mult a fost influențat noul compilator de dezvoltatorii de la FlexyCore, pe care Google l-a cumpărat în octombrie a acestui an, dar proiectul a început chiar în cadrul gigantului de căutare.

Google nu a spus încă cât de curând ART îl va înlocui pe Dalvik, dar nimic nu împiedică corporația să facă acest lucru în următoarea versiune a sistemului. Interesant, ca și Project Butter, compilatorul nu necesită efort din partea dezvoltatorilor de aplicații - vor scrie în continuare cod într-un limbaj binecunoscut, folosind practici dovedite.
"

Nu am un dispozitiv care rulează Android 4.4 pentru a încerca noua tehnologie, dar este deja disponibilă o imagine de sistem de la Google, pe care o puteți „atinge” în emulator.

Mai am întrebări despre dacă această funcție va fi disponibilă pe alte dispozitive Android 4.4 non-Google: Samsung, HTC etc. Toate funcțiile aplicației vor funcționa corect după transferul pe noua platformă?

Sunt foarte putine informatii, va rog sa scrieti in comentarii unde poate fi gasita intr-o dimensiune mai mare.

Dalvik are un concurent în KitKat sub forma ART. Deci, ce este și la ce beneficii se vor aștepta utilizatorii de Android în viitorul apropiat?

ART (o abreviere pentru Android Runtime) este o nouă aplicație de rulare scrisă în C/C++, care diferă de mașina virtuală Dalvik existentă Android prin faptul că toate aplicațiile din sistem sunt deja compilate, ceea ce înseamnă că nu este nevoie de un compilator JIT. Astfel, ART vă permite să rulați aplicații pe hardware diferit (wiz. ARM, x86) fără adaptare preliminară de către dezvoltatori. În plus, este nevoie de jumătate din timp pentru a lansa aplicații în condiții noi. Există câteva dezavantaje, dintre care unul este legat de principiul funcționării în condiții ART. Acest mediu duce la faptul că toate informațiile necesare sunt traduse într-un limbaj orientat pe mașină în timpul instalării aplicațiilor (compilare AOT), iar acest lucru necesită timp suplimentar, motiv pentru care întregul proces de instalare este foarte lung, iar aplicațiile iau mai mult spațiu, deci cum sunt compilate tot timpul. Deși ART este prezent în Android 4.4 KitKat, încă folosește mașina virtuală Dalvik în mod implicit. ART este încă în curs de dezvoltare, dar oricine poate activa deja noua tehnologie: Setări -> Opțiuni pentru dezvoltatori -> Selectați timpul de execuție.

Dacă decideți să testați un mediu nou, atunci nu uitați că prima pornire poate dura până la 20 de minute, sau chiar mai mult: sistemul va dura mult timp pentru a trece la noile principii de funcționare. Biblioteca libdvm.so va fi înlocuită cu libart.so, iar fișierele ODEX cu OAT. Vă rugăm să rețineți că trecerea la ART în cazul ROM-urilor personalizate nu este recomandată, deoarece poate exista o problemă de incompatibilitate cu versiunea actuală a aplicațiilor Gapps, ceea ce va duce la erori, blocări ale sistemului și va face imposibilă funcționarea pe dispozitiv. Deoarece în Android 4.4 KitKat avem de-a face doar cu un prototip al unei noi aplicații de rulare, este prea devreme pentru a trage concluzii pe baza rezultatelor practice actuale. ART nu a fost încă deloc optimizat, dar deja putem spune că în noile condiții, aplicațiile vor fi mai rapide, animațiile vor fi mai fluide, iar răspunsul la atingerea ecranului tactil se va îmbunătăți. În plus, ART va putea reduce sarcina procesorului: majoritatea proceselor vor trebui să utilizeze doar o parte din nuclee. Acest lucru va duce la o utilizare mai eficientă a arhitecturii big.LITTLE ARM, ceea ce înseamnă că consumul de energie al dispozitivelor Android va fi redus și timpul de funcționare va fi crescut. De fapt, ART include două compilatoare backend. Atât primul, cât și cel de-al doilea sunt compilatoare AOT (Ahead-of-Time), iar unul dintre ele este folosit pentru a recunoaște codul mașinii și a lucra cu GCC, cl.exe (compilatorul LLVM).

În mod ciudat, trecerea la ART nu ar trebui să afecteze crearea de aplicații. Specificul noului mediu este de așa natură încât ART citește bytecode pentru Dalvik, ceea ce înseamnă că nu este nevoie să dobândești noi cunoștințe și abilități. Lucrarea va fi efectuată folosind același bytecode Java. Pe de altă parte, compilarea AOT are un dezavantaj: erori care apar pe hardware diferit. Din acest motiv, dezvoltatorii vor trebui să își testeze aplicațiile pe mai multe dispozitive Android. În același timp, precompilarea va reduce cantitatea posibilă de lucru și va fi posibilă crearea de aplicații cu ART în orice limbă cu un frontend LLVM. Separat, merită remarcat accesul la codul mașinii: dezvoltatorii vor avea mai multe oportunități, dar în cazul unei erori, produsul finit poate dăuna dispozitivului Android. Ultimul punct important se referă la utilizarea JNI - un mecanism standard pentru rularea codului sub controlul mașinii virtuale Java, care este asociat cu asigurarea compatibilității binare.

Concluzie Trecerea la ART va duce la o creștere a performanței dispozitivelor Android și o scădere a numărului de întârzieri Principalele dezavantaje ale Dalvik în comparație cu ART Dalvik este mai lentă, ca și alte mașini virtuale. Compilatorul JIT este un cod suplimentar, ceea ce înseamnă o bătaie de cap suplimentară pentru unii dezvoltatori. Principalele dezavantaje ale ART comparativ cu Dalvik Volum crescut de aplicații. Timp de instalare crescut

În lumea modernă a tehnologiei și a abrevierilor, nimeni nu este surprins de noi nume și abrevieri. Cu toate acestea, există o problemă: utilizatorii obișnuiți nu sunt întotdeauna pe deplin conștienți de ceea ce a învățat gadgetul lor după actualizare. Dezvoltatorii rareori ne încântă cu descrieri detaliate ale inovațiilor și noilor tehnologii și este extrem de rar să găsim o explicație clară pe site-ul oficial - în cel mai bun caz, utilizatorul va găsi doar o scurtă descriere cu expresii și mai de neînțeles.

Încercăm întotdeauna să ajutăm utilizatorii să înțeleagă noile dispozitive și tehnologii, așa că am decis să vă spunem, cititorilor noștri, despre tehnologia ART mai detaliat și, de asemenea, să facem o mică comparație cu mașina virtuală familiară Dalvik.

Ce este o aplicație de rulare (mașină virtuală)?

Discuția despre Dalvik și ART este imposibilă fără înțelegerea elementelor de bază, așa că mai întâi să vorbim despre mașina virtuală ca atare. Un timp de rulare a unei aplicații este un set de instrucțiuni executate pentru a traduce codul aplicației în cod pe care un computer îl poate înțelege. Mașina virtuală este utilizată fără să fie măcar parte a programului principal. În general, toate limbajele de computer „gestionate” (Java în Android, C# în Windows Phone, ECMAScript în browsere) necesită un astfel de mediu pentru a înțelege limba în care este scrisă aplicația.

Android folosește o mașină virtuală pentru a executa fișiere DEX (similar cu EXE din Windows), care sunt conținute în arhiva APK a aplicației Android. Există două avantaje ale unei astfel de soluții. În primul rând, fiecare aplicație rulează pe un sistem izolat de nucleul sistemului de operare, astfel încât acesta din urmă se simte mai mult sau mai puțin în siguranță. În al doilea rând, utilizarea unei mașini virtuale deschide calea aplicațiilor multiplatformă, adică aplicația poate rula pe un smartphone ARM, tabletă MIPS sau computer x86.

„După cum știți, în tot acest timp Android a folosit mașina virtuală Dalvik, pe care probabil că au întâlnit-o toți cei care s-au adâncit puțin în caracteristicile sistemului de operare.”


De ce să folosiți un timp de rulare a aplicației?

Am răspuns deja la această întrebare mai sus. Fără îndoială că folosirea unei mașini virtuale încetinește execuția aplicațiilor, dar are câteva avantaje care influențează alegerea în favoarea ei.

  • Mașina virtuală rulează cod de aplicație terță parte într-un mediu izolat. În consecință, codul care poate dăuna nucleului sistemului de operare nu va putea interacționa direct cu fișierele de sistem, ceea ce va proteja sistemul. Un avantaj uriaș al utilizării unei mașini virtuale este funcționarea mai stabilă și mai fiabilă a sistemului principal.
  • Prin Google Play Store și alte surse, dezvoltatorul distribuie un fișier APK al programului său, care conține instrucțiuni necompilate pe care mașina virtuală le va „asambla” înainte de execuție. Această soluție oferă o compatibilitate mai mare; în caz contrar, codul compilat pentru dispozitivele bazate pe Snapdragon nu va putea rula pe dispozitivele Atom. Prin urmare, mașina virtuală rezolvă problema cu destinația de compilare.

Ce este Dalvik și care este problema lui?

Aceasta este întrebarea principală. Dalvik a fost folosit în Android încă de la prima versiune a sistemului de operare, din 2007, și în tot acest timp a existat practic o schimbare majoră - apariția „compilației din zbor” în Froyo, mai cunoscută ca JIT. Caracteristica sa principală este că aplicația este complet compilată atunci când utilizatorul deschide sau rulează instrucțiunile corespunzătoare. Aceasta este o remediere foarte utilă, deoarece înainte de 2.2 toate aplicațiile erau compilate pas cu pas, ceea ce reduce viteza de funcționare; Singurul dezavantaj al acestei soluții este că atunci când programul pornește, procesorul are o sarcină serioasă.

Pentru a evita munca suplimentară atunci când rulați din nou programul, sistemul colectează toate instrucțiunile compilate în timpul utilizării aplicației și le trimite într-un cache, care este stocat în sistemul de fișiere cu extensia *.ODEX (Optimized Dalvik EXecutable). De îndată ce lansați aplicația pentru a doua oară, Dalvik nu va mai compila, dar va încărca în memorie date deja optimizate pentru dispozitivul dvs. Cu toate acestea, apelarea unei funcții de aplicație care nu a fost folosită înainte va face ca instrucțiunile să fie compilate din nou. Dacă în acest moment sistemul efectuează lucrări de la terți (de exemplu, ascultarea muzicii sau actualizarea aplicațiilor), atunci din cauza supraîncărcării procesorului și a subsistemelor de intrare/ieșire, pot fi observate smucituri și frâne vizibile în memorie. Aici intervine ART.

Ce este ARTA și cum va salva lumea?

ART, sau Android RunTime (un nume foarte strâmb) este o nouă mașină virtuală pe care Google a introdus-o în Android 4.4 ca unul dintre instrumentele de dezvoltare (Dalvik este folosit implicit). Principala diferență între noul mediu de execuție a aplicațiilor este utilizarea tehnologiei Ahead-Of-Time (AOT, „ahead of time”). ART compilează toate instrucțiunile de aplicare înainte de a începe, în timpul procesului de instalare. Timpul acestuia din urmă crește, precum și cantitatea de memorie permanentă ocupată de program, dar mașina virtuală nu mai compilează aplicația curentă în timpul execuției acesteia, ceea ce îmbunătățește confortul atunci când se utilizează activ multitasking. Cu toate acestea, este recomandabil să aveți mai multă RAM, deoarece ART va încărca în el chiar și acele instrucțiuni ale aplicației pe care este posibil să nu le utilizați niciodată.

Dalvik vs. ARTĂ


Să comparăm pe scurt cele două mașini virtuale


ART este încă un experiment

Desigur, în acest moment ART este doar în curs de testare și este disponibil doar pentru dispozitivele care rulează Android 4.4 și chipset-uri de la Qualcomm. Cu toate acestea, acum puteți trece de la Dalvik la ART prin instrumente ascunse pentru dezvoltatori (meniul se deschide după câteva atingeri pe numărul versiunii din informațiile dispozitivului). Vă rugăm să rețineți că nu toate aplicațiile vor putea funcționa în ART fără actualizări suplimentare; Apropo, prima lansare în modul ART poate dura până la 30 de minute.

Google a pus ART la dispoziția dezvoltatorilor acum, pregătind scena pentru o tranziție completă la această mașină virtuală în viitor. Asta nu înseamnă că ART este stabilă nici acum. Acesta este un experiment și noua mașină virtuală poate să nu fie pregătită pentru utilizarea de zi cu zi.

Cele mai bune articole pe această temă