Technologijų pasaulyje naujos terminijos irsutrumpinimai nėra nieko naujo, ir kartais, kai tik išleidžiama nauja egzistuojanti programinė įranga, galite pamatyti naują sąvoką, kurią visi naudoja ir supranta. Vis dėlto pradedančiųjų ir net daugybės atsitiktinių vartotojų problema yra ta, kad jie nei iki galo nesupranta, ką reiškia naujoji konotacija, nei patys negali lengvai apie tai sužinoti iš oficialių šaltinių, visų pirma dėl to, kad kūrėjai nėra „ per daug nenoriu paaiškinti daugelio tokių terminų ir jų techninių detalių. Geriausiu atveju jums bus pranešta apie oficialų saitą, kuriame pateikiami paaiškinimai, tačiau tokia technine prasme, kad jis beveik nenaudingas ne technikai.
Mes „AddictiveTips“ visada didžiavomėspanardinti technines koncepcijas ir pateikti atsakymus, kurie būtų patogūs atsitiktiniam vartotojui ir technikos pradedančiajam. Taigi, kai „Google“ nusprendė pristatyti ART su „Android 4.4 KitKat“, mes pamatėme tai kaip galimybę supažindinti savo skaitytojus su naująja runtime aplinka ir padėti kiekvienam suprasti, kas visa tai yra ir kuo ji skiriasi nuo Dalvik virtualios mašinos, kuri ART yra kuriamas pakeisti.

Kas yra Runtime Environment?
Prieš atsakydami į tikrąjį klausimą,turime suprasti, kokia iš tikrųjų yra eksploatavimo aplinka. Paprasčiau tariant, vykdymo laiką sudaro programinės įrangos instrukcijos, kurios vykdomos, kai jūsų programa veikia, net jei jos iš esmės nėra būtent to programinės įrangos kodo dalis. Šios instrukcijos iš esmės verčia pačios programinės įrangos kodą į kodą, kurį kompiuteris gali paleisti. Todėl visoms kompiuterio kalboms reikalinga tam tikra vykdymo aplinka, kuri galėtų tinkamai vykdyti ta kalba parašytą kodą.
„Android“ naudoja virtualią mašinąvykdymo laiko aplinka, kad būtų galima paleisti APK failus, kurie sudaro „Android“ programą. Virtualios mašinos naudojimo pranašumas yra dvejopas - pirmiausia, programos kodas yra atskirtas nuo pagrindinės operacinės sistemos, užtikrinant, kad, jei kas nors nutiktų, jis būtų izoliuotoje aplinkoje ir nepaveiktų pagrindinės OS. Ir, antra, tai leidžia užtikrinti kryžminį suderinamumą, tai reiškia, net jei programa yra kompiliuota kitoje platformoje (pavyzdžiui, asmeniniame kompiuteryje, kaip dažniausiai daroma kuriant mobiliąsias programas), jas vis tiek galima vykdyti mobiliojoje platformoje naudojant virtualią mašiną. .
„Android“ - virtualios mašinos pagrindu vykdomas laikasaplinka, iki šiol naudojama kaip „Dalvik“ virtualioji mašina, esu įsitikinusi, kad visi, kas kada nors įsigilino į OS informaciją, yra daugiau nei susipažinę.
Kodėl apskritai reikia naudoti virtualią mašiną?
Tai iš tikrųjų yra taškas, kurį mes palietėme aukščiau. Virtualios mašinos veikia lėtai, neginčytina to, tačiau jos iš tikrųjų turi keletą pranašumų, dėl kurių jos yra palankiausios.
- Virtualios mašinos teikia izoliuotą aplinkąkodo vykdymui. Taigi, net jei programoje yra kenksmingo kodo, kuris gali sugadinti pagrindinę OS, ji neturės tiesioginės įtakos sistemos failams, taigi pagrindinė OS nebus sugadinta. Didelis privalumas yra didesnis operacinės sistemos stabilumas ir patikimumas.
- Programos APK, tiekiami per „Play Store“(ar bet kuris kitas šaltinis) yra nesukurtos instrukcijos, kurias kūrėjai pasikliauna virtualia mašina, kad galėtų kompiliuoti prieš vykdymą ir paleisti įrenginyje. Tai suteikia daugiau suderinamumo; jei kūrėjas pateiktų jau sukompiliuotą kodą ir jis būtų sudarytas „Snapdragon“ pagrindu veikiančiam procesoriui, jis, pavyzdžiui, gali tinkamai neveikti, naudodamas „Tegra“ lustą. Taigi kompiuteryje įrenginyje ši problema išspręsta.
Taigi, kas yra Dalvik ir kas su tuo klysta?
Štai klausimas, ar ne? Dalvik ten buvo nuo tada, kai „Android“ pradėjo veikti 2007 m., Ir nuo to laiko jis beveik nepasikeitė, išskyrus „Just-In-Time“ (JIT) kompiliavimo požiūrio metodą, įdiegtą „Android 2.2 Froyo“, kuris iš esmės sukompiltuoja programas iškart, kai jos yra paleidžiamas arba kai vartotojas pateikia reikiamas instrukcijas. Tai naudinga, taip pat patobulinimas, palyginti su ankstesniu įprastu vertėjo žodžiu, kuris sudarė ir valdė kodą eilutei bėgant, tačiau neigiama pusė yra didžiulė pridėtinė vertė, kai programa paleidžiama pirmą kartą.
Taip yra todėl, kad sistemą reikia sujungtivisus reikiamus failus, sukompiliuokite programą ir įkelkite ją į RAM. Kol kompiliuota programa liks RAM, ji ir toliau reaguos greitai, tačiau kai įkeliate daugiau programų ir RAM pasibaigia, pirmoji iškraunama, o vėliau ją paleidus, visas procesas prasideda. Šis požiūris yra prasmingas popieriuje ir iš tikrųjų iki šiol puikiai veikė platformos atžvilgiu. Tačiau labiausiai kenčia senesni įrenginiai, turintys ribotą RAM, nes pakrovimo / iškrovimo ciklas tęsiasi dažniau, taigi, dėl bendro reagavimo sistema jaučiasi lėtai. Štai kur atsiranda nauja virtualioji mašina ART.
Kas yra ART ir kaip tai pagerina dalykus?
ART arba „Android RunTime“ (gana nevykęs vardas, taip,mes žinome) yra nauja eksperimentinė virtualioji mašina, kurią „Google“ pristatė su „Android 4.4 KitKat“ kaip kūrėjo parinktį (kol kas „Dalvik“ vis dar nustatyta kaip numatytoji). Pagrindinis skirtumas tarp ART ir „Dalvik“ yra kompiliavimo metodas, kurį naudoja abu: ART naudoja naują koncepciją „Ahead-Of-Time“ (AOT), prieštaraujančią Dalvik JIT, kuri iš esmės kaupia programas dar prieš jų paleidimą. Tai reiškia, kad įdiegimas pirmą kartą užtruks ilgiau, o programos užims daugiau vietos vidinėje atmintyje, tačiau tuo pačiu metu, kadangi programa bus visiškai kompiliuota, kai tik ją įdiegsite, paleidimo laikas bus daug greitesnis. Kadangi kompiliavimo dalimi rūpinamasi tik kartą diegimo metu, procesoriaus apmokestinimas yra mažesnis, o tai lemia geresnį akumuliatoriaus veikimą ir bendrą našumą.
Dalvik Vs. ART - palyginimas
Prieš pradėdami judėjimą, greitai palyginkime abi virtualias mašinas.
Dalvik | MENAS |
Naudojamas „Just-In-Time“ (JIT) metodas, dėl kurio sunaudojama mažiau vietos saugykloje, bet ilgesnis programų įkėlimo laikas | Naudojamas laikas prieš laiką (AOT), kuris kaupia programas, kai jos yra įdiegtos, todėl greitesnis įkėlimo laikas ir mažesnis procesoriaus naudojimas |
Talpykla kaupiasi laikui bėgant, todėl įkrovos laikas yra greitesnis | Talpykla yra sukurta per pirmą įkrovą, todėl iš naujo paleisti įrenginį reikia žymiai ilgiau |
Geriau veikia mažesnius vidinius saugojimo įrenginius, nes užima mažiau vietos | Sunaudoja daug daugiau vidinės saugyklos vietos, nes joje saugomos kompiliuotos programos, be APK |
Yra stabilus ir patikrintas laikas - programų kūrėjams pasirinktas VM | Yra labai eksperimentinis ir naujas - dar nėra daug palaikymo iš programų kūrėjų |
Tu sakai, kad ART yra eksperimentinis ...
Taip ir šiuo metu jis galimas tikįrenginiai su „Snapdragon“ mikroschemų rinkiniais ir veikia „Android 4.4 KitKat“. Turite galimybę perjungti iš Dalvik į ART iš paslėptų kūrėjo parinkčių, jei to norite, tačiau atminkite, kad kai kurios jūsų programos gali neveikti tinkamai. Be to, jei „Dalvik“ jau yra sukurta programų talpykla, pirmasis paleidimas po perjungimo gali užtrukti iki pusvalandžio.
„Google“ pirmiausia padarė ART prieinamą naudojant„KitKat“ kūrėjams, norintiems žaisti ir sukurti pagrindą nuolatiniam keitimuisi ateityje. Tai jokiu būdu nereiškia, kad ART yra paruoštas naudoti šiandien. Tai bus ateityje, tačiau kol kas jis yra eksperimentinis ir netinkamas kasdieniam naudojimui galutiniam vartotojui.
Kalbant apie ART pranašumus, yra įvairiųataskaitos. Daugeliui apžvalgininkų bandymo įrenginius sudaro keturių branduolių procesoriai, turintys daugiau nei 2 gigabūdų atminties, tai yra daugiau nei pakankama sąranka, kad būtų galima iš tikrųjų stebėti greičio padidėjimą iš ART. Vis dėlto atsitiktiniai vartotojai praneša, kad padidėja 50% greičio ir daugiau nei 30% - baterijos veikimo laikas. Dar kiti teigia, kad tai ne kas kita, kaip placebo efektas.
Visiškai teisingai, prieš tai nieko negalima pasakytitampa prieinama masėms ir praranda eksperimentinę etiketę. Taigi, mes išsaugosime šias diskusijas vėliau. Šiuo metu galima užtikrintai pasakyti, kad ART yra ateitis. „Google“ eis su kaupimu anksčiau laiko, kad iš tikrųjų atitiktų „iOS“, tai yra didžiausias atitikmuo, o „ART“ nuties kelią. Nesvarbu, koks vardas gali atrodyti kvailai ar neišsamus dabar, mes ir toliau matysime ART.
Komentarai