Dalvik are un concurent în KitKat sub forma ART. Deci, ce este și ce beneficii așteaptă utilizatorii de Android curând.
ART (o abreviere a termenului „Android Runtime”) este un nou timp de rulare al aplicației scris în C/C++, care diferă de cel existent în Android virtual Mașinile Dalvik, deoarece 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 informatiile necesare este tradus într-un limbaj orientat către mașină în timpul instalării aplicației (compilare AOT), iar acest lucru necesită timp suplimentar, motiv pentru care întregul proces de instalare este foarte lung, iar aplicațiile ocupă mai mult spațiu, deoarece sunt compilate tot timpul. Deși ART este prezent în Android 4.4 KitKat, este încă folosit în mod implicit mașină virtuală Dalvik. ART este încă în curs de dezvoltare, dar oricine se poate activa deja tehnologie nouă: 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 curentă Aplicațiile Gapps, care vor duce la erori, blocări ale sistemului și fac imposibilă lucrul 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 mai mult utilizare eficientă Arhitectura ARM mare.MIC, ceea ce înseamnă consum de energie dispozitive Android poate fi redus și timpul de funcționare mărit. 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 posibilitati, dar în cazul unei erori, produsul finit poate dăuna dispozitivului Android. Dura punct important asociat cu utilizarea JNI - un mecanism standard pentru rularea codului sub controlul mașinii virtuale Java, care este asociat cu asigurarea compatibilității binare.
Concluzie Tranziția la ART va duce la faptul că Performanță Android dispozitivele vor crește, iar numărul de lag-uri va scădea.. Principalele dezavantaje ale Dalvik în comparație cu ART Dalvik este mai lent, ca și alte mașini virtuale. Compilatorul JIT este 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 nou versiuni Android A apărut o inovație importantă, deși nu foarte vizibilă la prima vedere - a apărut o nouă mașină virtuală ART. Ce este ART, o mașină virtuală și de ce este nouă este descris în blogul în limba engleză al lui Aatif Khan, o intrare din care am decis să o traducem pentru tine. Vă exprimăm o recunoștință deosebită pentru ajutorul dumneavoastră Angela Bozhinova.
ÎN lumea modernă tehnologii și abrevieri, nimeni nu este surprins de noi nume și abrevieri. Cu toate acestea, există o problemă: utilizatori obișnuiți ei nu realizează întotdeauna pe deplin ce a învățat gadgetul lor după actualizare. Dezvoltatorii rareori ne fac fericiți descrieri detaliate inovații și tehnologii noi și este extrem de rar să găsești o explicație clară pe site-ul oficial - în cel mai bun caz, utilizatorul va găsi doar 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.
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 calculatorul de înțeles. Mașina virtuală este utilizată fără să fie măcar parte a programului principal. În general, toată lumea este „gestionată” limbaje informatice(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ă toți cei care s-au adâncit puțin în caracteristicile sistemului de operare au întâlnit-o probabil.
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.
Începem î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 reducea viteza; Singurul dezavantaj al acestei soluții este că atunci când programul pornește, procesorul are o sarcină serioasă.
Pentru a evita muncă suplimentară când reporniți programul, sistemul colectează împreună toate instrucțiunile compilate în timpul utilizării aplicației și le trimite în memoria cache, care este stocată în sistem 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, în memorie pot fi observate smucituri și frâne vizibile. Aici intervine ART.
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, la fel și volumul 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 de aplicație pe care este posibil să nu le utilizați niciodată.
Să comparăm pe scurt cele două mașini virtuale
Desigur, în în acest moment ART este doar în curs de testare și este disponibil numai pentru dispozitivele care rulează Android 4.4 și chipset-uri 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. Acest lucru nu înseamnă că ART este stabil acum. Acesta este un experiment și noua mașină virtuală poate să nu fie pregătită pentru utilizarea de zi cu zi.
Versiunea Android 4.4, pe lângă funcționalitatea extinsă, oferă utilizatorilor în mod fundamental mod nou prelucrarea datelor. În versiunile anterioare, fișierele erau compilate în mediul Dalvik. Acesta este virtual mașină Android, care traduce fișierul criptat într-un limbaj de programare care poate fi citit de procesor dispozitiv mobil. În noua versiune a sistemului de operare pentru smartphone-uri, Google utilizează mediul de rulare ART, despre care dezvoltatorii cred că are performanțe mai bune. ART sau Dalvik? Să încercăm să ne dăm seama în acest articol.
ART runtime, cu care poți îmbunătăți performanța smartphone-ului tăuOrice aplicație pe care o descărcați pe telefon sau pe computer este scrisă în limbajul computerului. Având în vedere că gadgeturile funcționează platforme diferite, există mediu virtual execuție, care decriptează programul. În acest fel procesorul telefonului poate citi fișierul pe care îl utilizați. În esență, aceasta este unitate de disc virtuală, asigurând siguranța și performanța dispozitivului. Iată principalele avantaje pe care le oferă runtime:
Instrumentele ART și Dalvik îndeplinesc funcții similare, astfel încât avantajele noii mașini virtuale pot fi dezvăluite doar prin comparație. Să ne uităm la avantajele și dezavantajele fiecărui timp de execuție.
Runtime-ul Dalvik a fost instalat din 2008. De fapt, acest instrument are aceeași vârstă cu sistem de operare. Acest instrument folosește modul JUST IN TIME de compilare a fișierelor. Concluzia este că convertorul de cod este activat la lansarea aplicației. Dezavantajul acestei metode de compilare este consumul crescut de resurse ale procesorului la rularea programelor. Ca urmare, unele fișiere utilizate sunt de-a dreptul lente sau se blochează.
Memorarea în cache a datelor decodificate ajută la rezolvarea parțială a problemei. De fiecare dată când un fișier este executat, unele dintre date sunt trimise în cache, ceea ce îmbunătățește performanța.
Important! Când actualizați o aplicație, memoria cache devine irelevantă, așa că nu veți putea scăpa complet de înghețarea aplicației!
ART a apărut în Android relativ recent. În versiunea 4.4, noul mediu a fost testat, iar în Android 5.0 este instalat implicit. Dezvoltatorii au ținut cont de erori versiunea anterioară, astfel încât performanța noului timp de rulare este îmbunătățită considerabil. De exemplu:
Dintre deficiențele identificate, se remarcă următoarele:
Pentru a activa durata de execuție pe un dispozitiv mobil, va trebui să efectuați următoarea secvență de acțiuni:
Important: procedura descrisă este relevantă pentruAndroid 4.4 și mai vechi. Dacă utilizați versiunea veche, apoi smartphone-ul folosește implicit Delvik, așa că elementul de meniu „Runtime Environment” lipsește.
După activarea mașinii virtuale, dispozitivul mobil se va reporni. Timpul de repornire depinde direct de numărul de programe instalate. Noul runtime va „întrerupe” toate codurile aplicației.
Având în vedere că mediile Dalvik și ART sunt aproape identice, este destul de dificil să dai preferință unuia dintre ele. Probabil totul depinde de dispozitivul mobil pe care îl utilizați.
VEZI VIDEO
Dacă spațiul de memorie permite, este mai bine să alegeți ART. Acest instrument nu supraîncărcă procesorul și rulează aplicațiile mai rapid. Mai mult, asta sistem nou, care va fi dezvoltat în continuare și va dobândi noi capabilități.
Era loc pentru multe schimbări și îmbunătățiri. Cele mai multe dintre ele atrag imediat atenția chiar și a utilizatorului obișnuit al acestui sistem. Aceasta, desigur, este instalarea aplicației Hangouts ca un mesager standard, reelaborarea meniului de apelare și adăugarea tastatură emoji. Fanii Android experimentați vor simți cu siguranță o creștere a performanței în comparație cu versiunile mai vechi. Cu toate acestea, există și laturi ascunse, care, conform logicii, ar trebui să fie de interes doar pentru dezvoltatori. Cu toate acestea, semnificația uneia dintre aceste inovații este deosebit de mare. În plus, în curând ne va afecta pe fiecare dintre noi și, prin urmare, ar fi pur și simplu o crimă să păstrăm tăcerea asupra detaliilor sale.
Probabil că mulți dintre voi ați auzit cel puțin despre faptul că în Android KitKat a aparut regim special. Esența sa constă în mai mult pornire rapidă aplicații și execuția lor mai stabilă și mai lină. Poate că încercările de a rezolva această problemă pe cont propriu nu au fost încununate cu succes. Acest lucru nu este surprinzător: cuvintele „mașină virtuală” și „compilație” pot speria pe oricine, mai ales dacă informațiile sunt consumate dintr-o sursă în limba engleză. Pentru a rezolva această problemă, am decis să înțelegem noi înșine esența problemei, prezentând-o în cea mai accesibilă formă.
Înainte de a vă familiariza cu esența inovației, trebuie să vă faceți o idee despre câteva detalii. Primul dintre acestea este mediul de rulare al aplicației. Vorbitor într-un limbaj simplu, conceptul notoriu este o colecție de instrucțiuni care sunt executate în timp ce o aplicație rulează. Instrucțiunile, la rândul lor, realizează traducerea codul programuluiîn cod pe care sistemul îl poate rula. În consecință, absolut toate limbajele de calculator necesită un mediu de execuție specific pentru a rula aplicații scrise în ele.
Ca mediu de rulare în sala noastră de operație îndrăgita sistem Android sunt folosite mașini virtuale, prima dintre acestea, Dalvik, a început să funcționeze încă din 2007. Ei îi datorăm înghețurile periodice ale interfeței și uneori lansări lente ale aplicațiilor. Cu toate acestea, această problemă poate deveni în curând parte a istoriei.
Acest tip de mediu de rulare are două avantaje necondiționate care fac viața mai ușoară nu doar dezvoltatorilor, ci și nouă, utilizatorilor. Primul avantaj este protecția sistemului. Nu întâmplător o mașină virtuală se numește virtuală: funcționarea sa este complet izolată de sistemul de operare. În consecință, o eroare sau o înghețare banală nu va afecta în niciun fel performanța dispozitivului dvs.
Al doilea avantaj este multiplataforma. Mașina virtuală va putea rula aplicația, chiar dacă a fost creată pe un PC.
Dalvik, ca tot ce este pe lumea asta, este imperfect. Motivul spascării periodice a interfeței este tipul de conversie a codului aplicației în hardware. Mașina asta face asta in trăi, iar acest tip de compilație se numește Just-In-Time. În consecință, este aproape imposibil să preziceți apariția bug-urilor, deoarece acest lucru se poate întâmpla în orice moment. Probabilitatea ca acest lucru să se întâmple este deosebit de mare în timpul primei lansări, când o parte din codul convertit nici măcar nu este stocată în cache.
Problema încetinirii primei lansări, de altfel, nu este deloc întâmplătoare. Acest lucru se întâmplă deoarece sistemul trebuie să adună toate fișierele necesare pentru a rula aplicația și pentru a încărca RAM cu ele. În acest caz particular, dispozitivele cu o cantitate mică de RAM suferă cel mai mult, pentru care procesul de încărcare este încărcat, dacă nu cu blocarea aplicației, atunci cel puțin cu întârzieri vizibile în execuția acesteia.
Compilarea din mers încarcă în mod semnificativ procesorul, dar în același timp permite dezvoltatorilor să nu fie nevoiți să optimizeze codul pentru fiecare procesor individual și alte componente ale dispozitivului.
O nouă mașină virtuală este concepută pentru a corecta cele de mai sus, care a reușit să fie remarcată de departe de cel mai complicat nume - Android Runtime. Sau prescurtat ca ART.
Noua mașină virtuală a prins viață cu Android 4.4 KitKat, dar nu i s-a acordat atenția cuvenită la prezentare. Motivul pentru aceasta este că ART este încă în stadiu experimental. Cu toate acestea, deși Dalvik este folosit ca mașină implicită, puteți trece la Android Runtime acum.
Cu toate acestea, nu vă grăbiți să faceți acest lucru. Mai întâi trebuie să vă familiarizați cu caracteristicile noii versiuni.
Cel mai notabil avantaj al ART este tip nou compilație, care se numea Ahead-Of-Time. Cititori care știu Limba engleză, probabil că au ghicit imediat ce se întâmplă. Dar adevărul este că procesul de conversie a codului în noua versiune este efectuat înainte de lansarea aplicației - chiar și în timpul instalării. În consecință, apar imediat câteva dezavantaje, care, în mod corect, merită menționate. Acesta este, în primul rând, un proces de instalare mai lung și, în al doilea rând, o dimensiune finală mai mare a aplicației. Un alt dezavantaj este o consecință a imaturității ART: mașina virtuală nu funcționează în prezent cu toate aplicațiile.
Cu toate acestea, lista meritelor este mult mai semnificativă. Aceasta este, de exemplu, o funcționare mai lină a interfeței și nu numai încărcare rapidă aplicatii. În plus, deoarece procesul de compilare este efectuat o singură dată, nu va încărca în continuare procesorul, ceea ce va duce la o autonomie îmbunătățită a dispozitivului.
Proprietarii de dispozitive care rulează următoarele pot trece la mașina virtuală ART în meniul dezvoltatorului. Control Android 4.4 cu procesor Snapdragon.
Dezvoltarea acestei tehnologii are un potențial enorm. În joc este dezmințirea mitului despre încetineala și instabilitatea Android, care nu numai că va mulțumi proprietarii de dispozitive care îl rulează, dar va elimina și cel mai serios argument din dezbaterea susținătorilor iOS.
În prezent reprezentanți Google nu raportați momentul implementării finale și înlocuirii lui Dalvik cu ART. Aș vrea să cred că acest lucru se va întâmpla foarte curând.
Buna ziua! Dacă sunteți confuz cu privire la ceea ce se va schimba pentru utilizator la schimbarea duratei de execuție de la Dalvik la ART, atunci această postare va fi de interes pentru dvs. Înainte de a vorbi despre noul mediu, să vorbim despre binecunoscutul mediu Dalvik. Definiție Dalvik Virtual Machine este o mașină virtuală bazată pe registre dezvoltată de Dan Bornstein, ca parte a platforma mobila Android. Pentru ce este folosită mașina virtuală Dalvik? Dalvik…
Buna ziua!
Dacă sunteți confuz cu privire la ceea ce se va schimba pentru utilizator la schimbarea duratei de execuție de la Dalvik la ART, atunci această postare va fi de interes pentru dvs.
Înainte de a vorbi despre noul mediu, să vorbim despre binecunoscutul mediu Dalvik
Dalvik Virtual Machine este o mașină virtuală bazată pe registre dezvoltată de Dan Bornstein ca parte a platformei mobile Android.
Dalvik rulează aplicații și cod scris în Java. Un compilator Java standard convertește codul aplicației, inițial în bytecode și apoi în fișiere cu extensia „.dex”. Aceste fișiere, la rândul lor, sunt utilizate de mașina virtuală Dalvik.
Principalul factor pentru Google este accelerarea interfeței. Toată lumea știe că „corporația” binelui a făcut deja un mare pas în această direcție cu Lansare Android 4.1 Jelly Bean. După cum vă amintiți, în această versiune a fost anunțat Project Butter, care a îmbunătățit cu adevărat viteza interfeței (animație). Dar Google nu s-a oprit aici și a decis să schimbe mediul de execuție a aplicației, să-și ia rămas bun de la DalvikVM și să înceapă să lucreze în mediul ART.
DalvikVM funcționează în timp real, adică convertește codul în hardware „din mers” (Just-In-Time). Punând astfel mult stres pe procesor.
Dar precompilatorul ART va converti codul imediat la instalarea aplicației.
ProPrecompilator ART:
+ Viteză crescută de îndeplinire a sarcinilor „grele”.
+ Face posibilă dezactivarea mai des a nucleelor de procesor neutilizate. Astfel, timpul poate crește durata bateriei dispozitive.
Desigur, există și dezavantaje. Unul, în opinia mea, principalul lucru este creșterea dimensiunii programul instalat. Desigur, proprietarii de dispozitive cu 32 GB de memorie la bord nu vor simți acest lucru. Dar există și dispozitive cu chiar și 8 GB la bord...
Proprietarii de dispozitive din linia Nexus pot vedea deja ce avantaje are noul mediu de rulare a aplicațiilor (ART), cu noua versiune OS Android 4.4 KitKat. Puteți trece de la Dalvik la ART în setările dezvoltatorului.
Dar momentan nu se știe încă când ART îl va înlocui complet pe Dalvik.