În lumea tehnologiei, a noilor terminologii șiprescurtările nu sunt nimic nou, iar uneori, cu fiecare versiune nouă, chiar și a software-ului existent, s-ar putea să vedeți un nou termen alăturat pe care toată lumea pare să-l folosească și să îl înțeleagă. Problema pentru începători și chiar pentru mulți utilizatori ocazionali este însă că nu înțeleg pe deplin ce înseamnă noua conotație și nici nu pot afla cu ușurință despre aceasta din surse oficiale, în principal din cauza faptului că dezvoltatorii nu sunt „ nu prea doresc să explice multe astfel de terminologii și detaliile lor tehnice. În cel mai bun caz, veți fi îndreptat către un link oficial care oferă o explicație, dar în termeni tehnici, încât este destul de inutil pentru un non-tech.
Noi, la AddictiveTips, ne-am mândrit întotdeaunaeliminarea conceptelor tehnice și oferirea de răspunsuri în termeni care sunt agreabili pentru utilizatorul ocazional și începătorul tehnologic. Prin urmare, când Google a decis să introducă ART cu Android 4.4 KitKat, am văzut aceasta ca o oportunitate de a introduce cititorii noștri în noul mediu de rulare și de a ajuta pe toți să înțeleagă despre ce este vorba și despre cum este diferită față de mașina virtuală Dalvik care ART este construit pentru a înlocui.
Ce este un mediu de rulare?
Înainte de a răspunde la întrebarea reală,trebuie să înțelegem ce este de fapt un mediu de rulare. Pentru a spune în termeni mai simpli, timpul de execuție cuprinde instrucțiuni software care se execută atunci când programul dvs. este executat, chiar dacă acestea nu sunt în esență o parte a codului acelei programe software. Aceste instrucțiuni traduc practic codul propriu al software-ului în codul pe care computerul este capabil să-l ruleze. Prin urmare, toate limbajele computerului necesită un fel de mediu de rulare care poate executa corect codul scris în limba respectivă.
Android folosește o mașină virtuală ca fiindmediu de rulare pentru a rula fișierele APK care constituie o aplicație Android. Avantajul utilizării unei mașini virtuale este dublu - în primul rând, codul aplicației este izolat de sistemul de operare principal, asigurând că ar trebui să nu funcționeze ceva, este conținut într-un mediu izolat și nu are efect asupra sistemului de operare primar. Și în al doilea rând, permite compatibilitatea încrucișată, adică chiar dacă o aplicație este compilată pe o altă platformă (cum ar fi un PC, cum este de obicei în cazul aplicațiilor mobile în curs de dezvoltare), acestea pot fi executate în continuare pe platforma mobilă folosind mașina virtuală .
Pentru Android, timpul de rulare bazat pe mașină virtualămediul folosit până acum este cunoscut sub numele de mașina virtuală Dalvik, cu care, sunt sigur că oricine a săpat vreodată în detaliile sistemului de operare, este mai mult decât cunoscut.
De ce să folosiți o mașină virtuală deloc?
Acesta este de fapt punctul pe care l-am atins chiar mai sus. Mașinile virtuale sunt lente, nu neagă acest lucru, dar dețin de fapt câteva avantaje care le fac o alegere preferată.
- Mașinile virtuale furnizează un mediu izolatpentru executarea codului. Prin urmare, chiar dacă o aplicație conține o bucată de cod rău intenționată care poate deteriora sistemul de operare principal, aceasta nu va afecta direct fișierele de sistem și, astfel, sistemul de operare principal va fi împiedicat să fie corupt. Beneficiul pe scară largă este mai mare stabilitate și fiabilitate pentru sistemul de operare.
- APK-urile pentru aplicații furnizate prin Play Store(sau orice altă sursă, pentru această problemă) sunt instrucțiuni necompilate pe care dezvoltatorii se bazează pe mașina virtuală pentru a compila înainte de execuție și a rula pe dispozitiv. Aceasta oferă mai multă compatibilitate; dacă dezvoltatorul ar furniza cod deja compilat și a fost compilat pentru un procesor bazat pe Snapdragon, s-ar putea să nu funcționeze corect pe un cip Tegra, de exemplu. Prin urmare, această compilare pe dispozitiv abordează această problemă.
Deci, ce este Dalvik și ce este greșit?
Aceasta este întrebarea care trebuie pusă, nu-i așa? Dalvik este acolo de când Android a început în 2007 și nu s-a schimbat prea mult de atunci, în afară de abordarea de compilare Just-In-Time (JIT), introdusă în Android 2.2 Froyo, care, în principiu, compilează aplicații chiar atunci când sunt lansat sau când utilizatorul furnizează instrucțiunile necesare. Este util, precum și o îmbunătățire față de abordarea anterioară a interpretului convențional care a compilat și rulat linie de cod linie după cum a funcționat, dar dezavantajul este un pasaj mare atunci când aplicația este lansată pentru prima dată.
Acest lucru se datorează faptului că sistemul trebuie să se alăturetoate fișierele necesare, compilați aplicația și încărcați-o pe RAM. Atâta timp cât aplicația compilată rămâne în memoria RAM, ea va continua să răspundă rapid, dar când încărcați mai multe aplicații și memoria RAM se va finaliza, prima va fi descărcată și, prin urmare, la lansarea ulterioară, întregul proces va începe. Abordarea are sens pe hârtie și, de fapt, a lucrat bine până acum pentru platformă. Cu toate acestea, dispozitivele mai vechi cu RAM limitată suferă cel mai mult, deoarece ciclul de încărcare / descărcare continuă mai des și, prin urmare, sistemul se simte lent în ceea ce privește capacitatea de reacție generală. Acolo vine noua mașină virtuală, ART.
Ce este ART și cum îmbunătățește lucrurile?
ART sau Android RunTime (nume destul de șchiop, da,știm) este o nouă mașină virtuală experimentală pe care Google a introdus-o cu Android 4.4 KitKat ca opțiune pentru dezvoltator (Dalvik fiind în continuare cea setată ca implicită pentru moment). Diferența principală dintre ART și Dalvik este abordarea de compilare pe care o folosesc ambele - ART folosește un nou concept Ahead-Of-Time (AOT), contrar JIT-ului Dalvik, care, în principiu, compilează aplicații înainte de a fi chiar lansate. Ceea ce înseamnă acest lucru este că instalările pentru prima dată vor dura mai mult, iar aplicațiile vor ocupa mai mult spațiu în spațiul de stocare intern, dar în același timp, deoarece aplicația va fi complet compilată imediat ce va fi instalată, timpii de lansare vor fi mult mai rapide. De asemenea, întrucât partea de compilare este îngrijită doar o dată la instalare, impozitarea procesorului este mai mică, ceea ce duce la o durată de viață mai bună a bateriei și la o performanță generală.
Dalvik Vs. ART - Comparație
Facem doar o comparație rapidă a ambelor mașini virtuale înainte de a merge mai departe.
Dalvik | ARTĂ |
Utilizează abordarea Just-In-Time (JIT), care duce la un consum mai mic de spațiu de stocare, dar la o durată mai mare de încărcare a aplicației | Utilizează abordarea AOT-Of-Time (AOT), care compila aplicațiile atunci când sunt instalate, ceea ce duce la timpuri de încărcare mai rapide și o utilizare mai mică a procesorului |
Cache-ul se acumulează de-a lungul timpului, deci timpii de pornire sunt mai rapide | Cache-ul este construit la prima pornire, deci dispozitivul de repornire durează mult mai mult |
Funcționează mai bine pentru dispozitive de stocare internă mai mici, deoarece spațiul ocupat este mai mic | Consumește mult mai mult spațiu de stocare intern, deoarece stochează aplicații compilate pe lângă APK-uri |
Este stabilit și testat în timp - VM la alegere pentru dezvoltatorii de aplicații | Este extrem de experimental și nou - nu are încă mult sprijin din partea dezvoltatorilor de aplicații |
Spuneți că arta este experimentală ...
Da, și acum, este disponibil doar pedispozitive cu chipseturi Snapdragon și care rulează Android 4.4 KitKat. Aveți opțiunea de a comuta de la Dalvik la ART de la opțiunile ascunse ale dezvoltatorului, dacă doriți, dar trebuie să vă informați că unele dintre aplicațiile dvs. nu pot funcționa corect. De asemenea, dacă există deja un cache de aplicații construit sub Dalvik, prima repornire după efectuarea comutatorului poate dura până la o jumătate de oră.
Google a pus în primul rând ART la dispoziție cuKitKat pentru dezvoltatori să se joace și să stabilească motivele pentru un schimb permanent în viitor. Și acest lucru nu implică în niciun caz că ART este gata de utilizare astăzi. Va fi în viitor, dar deocamdată, este experimental și nu este potrivit pentru utilizarea zilnică de către utilizatorul final.
În ceea ce privește avantajele ART, sunt mixterapoarte. Pentru majoritatea recenziilor, dispozitivele de testare cuprind procesoare quad-core cu peste 2 instrumente de memorie RAM, ceea ce este o configurație mai mult decât adecvată pentru a observa cu adevărat câștigurile de viteză de la ART. Cu toate acestea, utilizatorii aleatorii raportează câștiguri în creștere de 50% în viteză și mai mult de 30% în durata bateriei. Alții susțin că nu este altceva decât un efect placebo.
În toată corectitudinea, nu se poate spune nimic înaintedevine disponibil maselor și pierde eticheta experimentală. Prin urmare, vom păstra acea dezbatere pentru mai târziu. Ceea ce se poate spune în acest moment cu certitudine este că ARTA este viitorul. Google va face o compilare anterioară pentru a se potrivi cu iOS, este cea mai mare omologă, iar ART va deschide calea. Oricât de stupid ar putea părea numele sau cât de incomplet este acum, vom continua să vedem ART din ce în ce mai mult.
Comentarii