Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ
  • në shtëpi
  • Lajme
  • Cili është më i mirë dalvik apo art. Ne i kuptojmë ndërlikimet e programeve Art dhe Dalvik

Cili është më i mirë dalvik apo art. Ne i kuptojmë ndërlikimet e programeve Art dhe Dalvik

Me lëshimin e versioneve të reja të Android, ky OS kërkonte gjithnjë e më shumë memorie me akses të rastësishëm (RAM). Pajisjet e para me të kishin 256 MB RAM, por sot një gigabajt mund të mos mjaftojë më. Megjithatë, Google ndërmori optimizimin dhe lëshoi ​​Android 4.4 KitKat. Ky version i sistemit operativ është më i shpejtë, por kërkon më pak burime. Kjo u bë e mundur falë kalimit nga sistemi Dalvik në RTSH. Lexoni më poshtë se çfarë është dhe pse telefonat inteligjentë me Android 4.4 do të funksionojnë më shpejt në procesorë të dobët.

Një nga arsyet e popullaritetit të sistemit operativ celular të Google është lehtësia relative e zhvillimit të aplikacioneve për të. Falë kësaj, dyqani i softuerit Google Play u mbush shpejt me shërbime. Kjo u bë e mundur me ndihmën e makinës virtuale Dalvik, e cila konvertoi kodin e aplikacionit në diçka të kuptueshme për procesorin e një celulari ose tableti. Programuesit shkruajnë në mënyrën që u përshtatet atyre dhe nuk kanë nevojë të shqetësohen se çfarë chipset është në vegël e përdoruesit: nga Qualcomm, Intel, Mediatek, nVidia, Samsung ose një shitës tjetër.

Për shkak të faktit se kodi i aplikacionit shndërrohet në fluturim në diçka të kuptueshme për pajisjen e vegël, është shumë i përshtatshëm për zhvilluesit të krijojnë programet e tyre. Por për shkak të këtij ndërmjetësi në formën e makinës virtuale Dalvik, procesori i pajisjes duhet të kryejë disa herë më shumë veprime: të lexojë kodin, ta shndërrojë atë në diçka të kuptueshme nga hardueri, ta ekzekutojë dhe të shfaqë rezultatin në ekran. Pasoja e kësaj arkitekture mund të vëzhgohej nga pothuajse çdo pronar i një pajisjeje Android në formën e një ndërfaqeje të ngadaltë. Kur telefoni inteligjent nuk është i ngarkuar me lojëra dhe llogaritje, RAM-i është i lirë, por thjesht rrokullisja e ekranit shkakton një vonesë të dytë.

Google filloi ta luftojë këtë problem shumë kohë më parë: hapi i parë serioz ishte Project Butter, i shpallur së bashku me Android 4.1 Jelly Bean. Falë tij, sistemi operativ filloi të përgjigjet disi më shpejt ndaj veprimeve të përdoruesit, por në përgjithësi problemi mbeti. Prandaj, Google ka krijuar dhe po përgatit ART - një zëvendësim për makinën virtuale Dalvik.

Per cfareNevojitet AndroidVirtualmakinë

Çdo program përdor shumë veprime standarde: shfaqja e një imazhi në ekran, shkrimi i skedarëve në memorie, transferimi i skedarëve përmes Bluetooth ose Wi-Fi. Për ta bërë jetën më të lehtë për programuesit, sistemi operativ ka funksione të integruara për të kryer këto detyra. Zhvilluesi duhet vetëm të tregojë në aplikacionin e tij "kopjoni skedarin XXX në kartën e kujtesës në dosjen UUU". Nuk i intereson se si është bërë ose sa burime të sistemit kërkon.

Programuesit gjithashtu shpesh shkruajnë programe "të dëmtuara" që kanë gabime në kod, "humbje" memorie dhe të ngjashme. Një makinë virtuale ju lejon të izoloni shërbimet nga njëri-tjetri dhe nga kerneli i sistemit operativ. Falë kësaj, dështimet e aplikacionit nuk ndikojnë në OS dhe programe të tjera që funksionojnë. Pa këtë, një gabim në program shkakton ngrirjen e të gjithë sistemit. Përdoruesit më të vjetër mund të kujtojnë se si gabimet në softuerin e aplikacionit çuan në "ekranin blu të vdekjes" në sistemet operative Windows 95 dhe 98 të desktopit, të cilët nuk kishin mekanizma të ngjashëm virtualizimi.

Skedarët APK që një përdorues shkarkon nga Dyqani i Google Play ose ndonjë server tjetër janë kod të pakompiluar. Asnjë kompjuter nuk mund ta bëjë këtë sepse thjesht "nuk e kupton". Nëse shërbimet do të furnizoheshin në një formë të përpiluar tashmë dhe të kuptueshme për harduerin, atëherë disa prej tyre do të funksiononin, për shembull, në pajisjet me një çip Snapdragon, por do të jepnin një gabim kur lansoheshin në pajisje me çipa Tegra.

Çdo prodhues përshtat Dalvik me procesorin dhe harduerin e tij. Falë kësaj, i njëjti program mund të funksionojë në pajisje nga pothuajse çdo prodhues pa modifikuar kodin e tij burimor. Dhe është për këtë arsye që nuk mund të instaloni thjesht një version të ri të Android në pajisjen tuaj, si riinstalimi i Windows.

Cfare ndodhiDalvik dhe pse kërkon zëvendësim

Makina virtuale Dalvik (e quajtur sipas portit islandez të peshkimit të Dalvik) ka qenë e pranishme në Android që nga fillimi i këtij sistemi operativ në 2007. Që atëherë, ai ka pësuar vetëm një ndryshim të madh: në Android 2.2 Froyo, kodi nga APK u shndërrua në kodin e makinës menjëherë pasi përdoruesi nisi programin. Më parë, ai përpunohej rresht pas rreshti gjatë ekzekutimit të programit në një pajisje celulare. Qasja e re e bëri më të lehtë nisjen e shërbimeve dhe funksionimin e tyre, por kjo ndikoi në kërkesat për burimet harduerike. Dhe sot, vetëm një gigabajt RAM mund të mos mjaftojë që një telefon celular të funksionojë shpejt.

Çfarëtë tillaART dheSiajodo të ndihmojëAndroid

Makina virtuale ART (që qëndron për Android RunTime - mjedisi i ekzekutimit të Android) është ende në fazën eksperimentale, por tashmë mund ta provoni në Android 4.4 KitKat. Përdoruesit e pajisjeve që përdorin këtë version të OS mund të kalojnë nga Dalvik i paracaktuar në ART.

Dallimi kryesor midis këtyre makinave virtuale është qasja e përpilimit. Nëse Dalvik konverton kodin në kohë reale menjëherë pas nisjes së shërbimeve, atëherë ART e bën këtë paraprakisht gjatë instalimit. Kjo do të thotë një rritje në kohën e instalimit për shërbimet komunale dhe një gjurmë më të madhe në memorien flash të pajisjes. Por kjo nënkupton gjithashtu nisje më të shpejtë dhe kërkesa të reduktuara për burimet harduerike, veçanërisht sasinë e RAM-it. Kjo është arsyeja pse Android 4.4 KitKat, sipas Google, do të jetë në gjendje të funksionojë shpejt dhe në mënyrë të qëndrueshme në pajisjet me 512 MB RAM. Qasja e re për konvertimin e kodit do të reduktojë gjithashtu konsumin e baterisë.


Krahasoni volumin e të njëjtave programe duke përdorur Dalvik (majtas) dhe ART (djathtas)

Dalvik vs.ART - krahasim

Në përgjithësi, makina virtuale ART premton shumë përmirësime mbi Dalvik ekzistues. Përparësitë dhe disavantazhet e secilit mund të shihen në tabelën e mëposhtme:

Konverton skedarët APK në kod të lexueshëm nga CPU, i cili kërkon më pak hapësirë ​​​​ruajtjeje flash, por i bën aplikacionet të marrin më shumë kohë për t'u nisur

Konverton skedarët APK në kod të lexueshëm nga CPU përpara se të instalohen. Kjo kërkon më pak burime të CPU-së në fillim dhe redukton kohën e fillimit të programit

Me kalimin e kohës, kodi i makinës ruhet në memorie, gjë që çon në ngarkimin më të shpejtë të telefonit celular

Memoria e kodit të makinës krijohet kur telefoni celular niset për herë të parë, kjo është arsyeja pse kërkon shumë më shumë kohë për t'u ndezur

Më i përshtatshëm për pajisjet me ruajtje flash me kapacitet të ulët, pasi memoria e kodit të makinës zë më pak hapësirë

Konsumon dukshëm më shumë memorie flash (10-20%), pasi përveç skedarëve APK ruan kodin e përpiluar të makinës së secilit program

E qëndrueshme dhe e testuar me kohë

Mund të shfaqen gabime dhe mangësi të reja dhe eksperimentale, të papritura

Provoni eksperimentaleART

Përpiluesi i ri është në zhvillim dhe hulumtim, por përdoruesit tashmë mund ta provojnë atë. Ai është i disponueshëm për pronarët e pajisjeve që përdorin Android 4.4 KitKat dhe i bazuar në çipin Snapdragon. Ata që vendosin të provojnë produktin e ri duhet të kujtojnë se makina e re virtuale mund të bëjë që disa shërbime të mos funksionojnë. Për më tepër, pas një rindezjeje, telefonit inteligjent mund të duhen deri në gjysmë ore për të filluar - kjo është koha kur ART-së do t'i duhet për të krijuar një memorie të fshehtë aplikacioni.

Për të aktivizuar ART në vend të Dalvik, duhet të hyni në menunë e zhvilluesit. Për të aktivizuar këtë të fundit, duhet të hapni cilësimet e smartphone dhe të shkoni te seksioni "Rreth telefonit". Atje duhet të klikoni në butonin "Numri i versionit" shumë herë derisa OS të raportojë disponueshmërinë e menysë së re. Pas kësaj, duhet të zgjidhni makinën virtuale për t'u përdorur dhe të rindizni pajisjen.

Në përgjithësi, testet nga përdoruesit që kaluan në ART tregojnë një shpejtësi të përgjithshme prej afërsisht 50% dhe një rritje të jetëgjatësisë së baterisë deri në 30%.

Deri më tani kemi mundur të gjejmë informacione të tilla në faqen e internetit Youhtc.ru
"
Gjatë viteve të fundit, një pjesë e rëndësishme e punës së krijuesve të Android ka qenë lufta kundër "sëmundjes" kryesore kongjenitale të sistemit - vonesat në animacionin e ndërfaqes. Hapi i parë serioz në këtë drejtim ishte Project Butter, i shpallur së bashku me Android 4.1 Jelly Bean dhe me të vërtetë "përshpejtoi" sistemin, por nuk e zgjidhi plotësisht problemin. Google e kupton këtë, kështu që ata po përgatisin ART - një zëvendësim për makinën virtuale Dalvik.

Edhe tani, në epokën e procesorëve të fuqishëm me shumë bërthama, në rrethana të caktuara mund të vëreni se animacioni në Android nuk vizatohet në mënyrë perfekte dhe ka vonesa të dukshme midis disa veprimeve. Problemi është kompleks, kështu që duheshin ndërmarrë shumë hapa për ta zgjidhur atë - një prej tyre ishte zëvendësimi i Dalvik me parakompiluesin ART.

Tani kodi Android funksionon në një motor Java të krijuar nga Google posaçërisht për pajisjet celulare, dhe ai konvertohet "në fluturim" në kod harduer (Përmbledhje Just-In-Time). Ky mekanizëm lejon që zhvilluesi i aplikacionit të lidhet praktikisht me një arkitekturë ose pajisje specifike, por shkakton dëme serioze në performancën duke ngarkuar procesorin gjatë përpilimit. Sigurisht, pas nisjes së parë shumë të ngadaltë të programit, një pjesë e kodit "vendas" që rezulton ruhet në cache, por kjo nuk e zgjidh plotësisht problemin e vonesave.

ART është një përpilues AOT (Ahead-Of-Time) që konverton kodin Java në kod "vendas" gjatë procesit të instalimit të aplikacionit. Kjo do të thotë, përdoruesi drejton programin e përpiluar tashmë, i cili shpejton ndjeshëm hapjen dhe ekzekutimin e tij. Është dyfish interesante që ART është tashmë i integruar në Android 4.4 KitKat dhe mund të aktivizohet në menunë e zhvilluesve. Pas kalimit në libart.so (biblioteka e përpiluesit), pajisja riniset dhe përpilon të gjitha aplikacionet e instaluara tashmë. Djemtë nga Policia e Android, të cilët studiuan me kujdes ART, pretendojnë se kjo nuk duhet bërë ende në firmware me porosi nga AOSP - mund të lindin probleme me paketën e softuerit nga Google.

Edhe duke marrë parasysh gjendjen jo të plotë të ART-së, kalimi në të ndikon ndjeshëm në shpejtësinë e ekzekutimit të detyrave intensive me burime dhe butësinë e ndërfaqes, dhe gjithashtu lejon që procesorët me shumë bërthama të fikin më shpesh bërthamat e papërdorura, gjë që jep një fitim në jetëgjatësinë e baterisë së pajisjes. Sistemi i ri i përpilimit ka disavantazhe, megjithëse ato vështirë se mund të quhen të rëndësishme: kohë më e gjatë e instalimit dhe një rritje në madhësinë përfundimtare të programit me 10-20%. Vërtetë, vetëm pjesa e kodit rritet në madhësi, e cila shpesh zë më pak se gjysmën e aplikacionit - multimedia (foto, zë, video) dhe të dhënat e tjera nuk ndryshojnë në madhësi.

Rezulton se Google ka punuar në ART për disa vite tani, dhe përfshirja e tij në KitKat është një vendim absolutisht i qëllimshëm, duke i lejuar krijuesit e sistemit të kryejnë testime serioze dhe zhvilluesit e aplikacioneve të përgatiten për "largimin" e ardhshëm të Dalvik. Nuk është ende e qartë se sa shumë është ndikuar përpiluesi i ri nga zhvilluesit nga FlexyCore, të cilin Google e bleu në tetor të këtij viti, por projekti filloi brenda vetë gjigantit të kërkimit.

Google nuk ka thënë ende se sa shpejt ART do të zëvendësojë Dalvik, por asgjë nuk e pengon korporatën që ta bëjë këtë në versionin e ardhshëm të sistemit. Është interesante se si Project Butter, përpiluesi nuk kërkon përpjekje nga zhvilluesit e aplikacioneve - ata do të shkruajnë ende kodin në një gjuhë të njohur, duke përdorur praktika të provuara.
"

Unë nuk kam një pajisje me Android 4.4 për të provuar vetë teknologjinë e re, por një imazh i sistemit nga Google është tashmë i disponueshëm, të cilin mund ta "prekni" në emulator.

Kam ende pyetje nëse kjo veçori do të jetë e disponueshme në pajisjet e tjera Android 4.4 që nuk janë të Google: Samsung, HTC, etj. A do të funksionojnë si duhet të gjitha funksionet e aplikacionit pas transferimit në platformën e re?

Ka shumë pak informacion, ju lutemi shkruani në komente ku mund të gjenden në një madhësi më të madhe.

Deri më tani kemi mundur të gjejmë informacione të tilla në faqen e internetit Youhtc.ru
"
Gjatë viteve të fundit, një pjesë e rëndësishme e punës së krijuesve të Android ka qenë lufta kundër "sëmundjes" kryesore kongjenitale të sistemit - vonesat në animacionin e ndërfaqes. Hapi i parë serioz në këtë drejtim ishte Project Butter, i shpallur së bashku me Android 4.1 Jelly Bean dhe me të vërtetë "përshpejtoi" sistemin, por nuk e zgjidhi plotësisht problemin. Google e kupton këtë, kështu që ata po përgatisin ART - një zëvendësim për makinën virtuale Dalvik.

Edhe tani, në epokën e procesorëve të fuqishëm me shumë bërthama, në rrethana të caktuara mund të vëreni se animacioni në Android nuk vizatohet në mënyrë perfekte dhe ka vonesa të dukshme midis disa veprimeve. Problemi është kompleks, kështu që duheshin ndërmarrë shumë hapa për ta zgjidhur atë - një prej tyre ishte zëvendësimi i Dalvik me parakompiluesin ART.

Tani kodi Android funksionon në një motor Java të krijuar nga Google posaçërisht për pajisjet celulare, dhe ai konvertohet "në fluturim" në kod harduer (Përmbledhje Just-In-Time). Ky mekanizëm lejon që zhvilluesi i aplikacionit të lidhet praktikisht me një arkitekturë ose pajisje specifike, por shkakton dëme serioze në performancën duke ngarkuar procesorin gjatë përpilimit. Sigurisht, pas nisjes së parë shumë të ngadaltë të programit, një pjesë e kodit "vendas" që rezulton ruhet në cache, por kjo nuk e zgjidh plotësisht problemin e vonesave.

ART është një përpilues AOT (Ahead-Of-Time) që konverton kodin Java në kod "vendas" gjatë procesit të instalimit të aplikacionit. Kjo do të thotë, përdoruesi drejton programin e përpiluar tashmë, i cili shpejton ndjeshëm hapjen dhe ekzekutimin e tij. Është dyfish interesante që ART është tashmë i integruar në Android 4.4 KitKat dhe mund të aktivizohet në menunë e zhvilluesve. Pas kalimit në libart.so (biblioteka e përpiluesit), pajisja riniset dhe përpilon të gjitha aplikacionet e instaluara tashmë. Djemtë nga Policia e Android, të cilët studiuan me kujdes ART, pretendojnë se kjo nuk duhet bërë ende në firmware me porosi nga AOSP - mund të lindin probleme me paketën e softuerit nga Google.

Edhe duke marrë parasysh gjendjen jo të plotë të ART-së, kalimi në të ndikon ndjeshëm në shpejtësinë e ekzekutimit të detyrave intensive me burime dhe butësinë e ndërfaqes, dhe gjithashtu lejon që procesorët me shumë bërthama të fikin më shpesh bërthamat e papërdorura, gjë që jep një fitim në jetëgjatësinë e baterisë së pajisjes. Sistemi i ri i përpilimit ka disavantazhe, megjithëse ato vështirë se mund të quhen të rëndësishme: kohë më e gjatë e instalimit dhe një rritje në madhësinë përfundimtare të programit me 10-20%. Vërtetë, vetëm pjesa e kodit rritet në madhësi, e cila shpesh zë më pak se gjysmën e aplikacionit - multimedia (foto, zë, video) dhe të dhënat e tjera nuk ndryshojnë në madhësi.

Rezulton se Google ka punuar në ART për disa vite tani, dhe përfshirja e tij në KitKat është një vendim absolutisht i qëllimshëm, duke i lejuar krijuesit e sistemit të kryejnë testime serioze dhe zhvilluesit e aplikacioneve të përgatiten për "largimin" e ardhshëm të Dalvik. Nuk është ende e qartë se sa shumë është ndikuar përpiluesi i ri nga zhvilluesit nga FlexyCore, të cilin Google e bleu në tetor të këtij viti, por projekti filloi brenda vetë gjigantit të kërkimit.

Google nuk ka thënë ende se sa shpejt ART do të zëvendësojë Dalvik, por asgjë nuk e pengon korporatën që ta bëjë këtë në versionin e ardhshëm të sistemit. Është interesante se si Project Butter, përpiluesi nuk kërkon përpjekje nga zhvilluesit e aplikacioneve - ata do të shkruajnë ende kodin në një gjuhë të njohur, duke përdorur praktika të provuara.
"

Unë nuk kam një pajisje me Android 4.4 për të provuar vetë teknologjinë e re, por një imazh i sistemit nga Google është tashmë i disponueshëm, të cilin mund ta "prekni" në emulator.

Kam ende pyetje nëse kjo veçori do të jetë e disponueshme në pajisjet e tjera Android 4.4 që nuk janë të Google: Samsung, HTC, etj. A do të funksionojnë si duhet të gjitha funksionet e aplikacionit pas transferimit në platformën e re?

Ka shumë pak informacion, ju lutemi shkruani në komente ku mund të gjenden në një madhësi më të madhe.

Dalvik ka një konkurrent në KitKat në formën e RTSH-së. Pra, çfarë është dhe çfarë përfitimesh do të presin përdoruesit e Android në të ardhmen e afërt?

ART (një shkurtim për Android Runtime) është një kohë e re e ekzekutimit e aplikacionit e shkruar në C/C++, e cila ndryshon nga makina virtuale ekzistuese Dalvik e Android në atë që të gjitha aplikacionet në sistem janë përpiluar tashmë, që do të thotë se nuk ka nevojë për një përpilues JIT. Kështu, ART ju lejon të ekzekutoni aplikacione në pajisje të ndryshme (wiz. ARM, x86) pa përshtatje paraprake nga zhvilluesit. Përveç kësaj, duhet gjysma e më shumë kohë për të nisur aplikacionet në kushte të reja. Ka disa mangësi, njëra prej të cilave lidhet me parimin e funksionimit në kushtet e ART. Ky mjedis çon në faktin se i gjithë informacioni i nevojshëm përkthehet në një gjuhë të orientuar nga makina gjatë instalimit të aplikacioneve (përpilimi AOT), dhe kjo kërkon kohë shtesë, kjo është arsyeja pse i gjithë procesi i instalimit është shumë i zgjatur dhe aplikacionet marrin zënë më shumë hapësirë, pra si përpilohen gjatë gjithë kohës. Megjithëse ART është i pranishëm në Android 4.4 KitKat, ai ende përdor makinën virtuale Dalvik si parazgjedhje. ART është ende në zhvillim, por çdokush tashmë mund të aktivizojë teknologjinë e re: Cilësimet -> Opsionet e zhvilluesit -> Zgjidh kohën e funksionimit.

Nëse vendosni të testoni një mjedis të ri, atëherë mos harroni se ngarkimi i parë mund të zgjasë deri në 20 minuta, ose edhe më shumë: sistemit do t'i duhet shumë kohë për të kaluar në parimet e reja të funksionimit. Biblioteka libdvm.so do të zëvendësohet me libart.so dhe skedarët ODEX me OAT. Ju lutemi vini re se kalimi në ART në rastin e ROM-ve me porosi nuk rekomandohet, pasi mund të ketë një problem papajtueshmërie me versionin aktual të aplikacioneve Gapps, gjë që do të çojë në gabime, dështime të sistemit dhe do ta bëjë të pamundur punën në pajisje. Meqenëse në Android 4.4 KitKat kemi të bëjmë vetëm me një prototip të një programi të ri ekzekutimi, është shumë herët për të nxjerrë përfundime bazuar në rezultatet aktuale praktike. ART ende nuk është optimizuar fare, por tashmë mund të themi se në kushtet e reja aplikacionet do të jenë më të shpejta, animacionet do të jenë më të buta dhe reagimi ndaj prekjes së ekranit me prekje do të përmirësohet. Përveç kësaj, ART do të jetë në gjendje të zvogëlojë ngarkesën në procesor: shumica e proceseve do të duhet të përdorin vetëm një pjesë të bërthamave. Kjo do të çojë në përdorim më efikas të arkitekturës big.LITTLE ARM, që do të thotë se konsumi i energjisë i pajisjeve Android do të reduktohet dhe koha e funksionimit do të rritet. Në fakt, ART përfshin dy përpilues backend. Si i pari ashtu edhe i dyti janë përpilues AOT (Ahead-of-Time), dhe njëri prej tyre përdoret për të njohur kodin e makinës dhe për të punuar me GCC, cl.exe (përpilues LLVM).

Mjaft e çuditshme, kalimi në RTSH nuk duhet të ndikojë në krijimin e aplikacioneve. Specifikimi i mjedisit të ri është i tillë që ART lexon bytecode për Dalvik, që do të thotë se nuk ka nevojë për të marrë njohuri dhe aftësi të reja. Puna do të kryhet duke përdorur të njëjtin bajtkod Java. Nga ana tjetër, përpilimi AOT ka një pengesë: gabime që ndodhin në pajisje të ndryshme. Për shkak të kësaj, zhvilluesit do të duhet të testojnë aplikacionet e tyre në më shumë pajisje Android. Në të njëjtën kohë, përpilimi paraprak do të zvogëlojë sasinë e mundshme të punës dhe do të jetë e mundur të krijohen aplikacione me ART në çdo gjuhë me një frontend LLVM. Më vete, vlen të përmendet qasja në kodin e makinës: zhvilluesit do të kenë më shumë mundësi, por në rast të një gabimi, produkti i përfunduar mund të dëmtojë pajisjen Android. Pika e fundit e rëndësishme lidhet me përdorimin e JNI - një mekanizëm standard për ekzekutimin e kodit nën kontrollin e makinës virtuale Java, e cila shoqërohet me sigurimin e përputhshmërisë binare.

Përfundim Kalimi në ART do të çojë në një rritje të performancës së pajisjeve Android dhe një ulje të numrit të vonesave. Disavantazhet kryesore të Dalvik në krahasim me ART Dalvik është më i ngadalshëm, si makinat e tjera virtuale. Përpiluesi JIT është kod shtesë, që do të thotë një dhimbje koke shtesë për disa zhvillues. Disavantazhet kryesore të ART-së në krahasim me Dalvik Vëllimi i rritur i aplikacioneve. Rritja e kohës së instalimit

Në botën moderne të teknologjisë dhe shkurtesave, askush nuk befasohet nga emrat dhe shkurtesat e reja. Sidoqoftë, ekziston një problem: përdoruesit e zakonshëm nuk janë gjithmonë plotësisht të vetëdijshëm për atë që vegla e tyre ka mësuar pas përditësimit. Zhvilluesit rrallë na kënaqin me përshkrime të hollësishme të inovacioneve dhe teknologjive të reja, dhe është jashtëzakonisht e rrallë të gjesh ndonjë shpjegim të qartë në faqen zyrtare të internetit - në rastin më të mirë, përdoruesi do të gjejë vetëm një përshkrim të shkurtër me shprehje edhe më të pakuptueshme.

Ne gjithmonë përpiqemi t'i ndihmojmë përdoruesit të kuptojnë pajisjet dhe teknologjitë e reja, ndaj vendosëm t'ju tregojmë, lexuesve tanë, për teknologjinë ART në më shumë detaje, si dhe të bëjmë një krahasim të vogël me makinën virtuale të njohur Dalvik.

Çfarë është koha e ekzekutimit të aplikacionit (makinë virtuale)?

Diskutimi i Dalvik dhe ART është i pamundur pa kuptuar bazat, kështu që së pari le të flasim për makinën virtuale si të tillë. Koha e ekzekutimit të aplikacionit është një grup udhëzimesh të ekzekutuara për të përkthyer kodin e aplikacionit në kod që një kompjuter mund ta kuptojë. Makina virtuale përdoret pa qenë as pjesë e programit kryesor. Në përgjithësi, të gjitha gjuhët e kompjuterit "të menaxhuara" (Java në Android, C# në Windows Phone, ECMAScript në shfletues) kërkojnë një mjedis të tillë për të kuptuar gjuhën në të cilën është shkruar aplikacioni.

Android përdor një makinë virtuale për të ekzekutuar skedarët DEX (të ngjashëm me EXE në Windows), të cilat gjenden në arkivin APK të aplikacionit Android. Ka dy avantazhe të një zgjidhjeje të tillë. Së pari, çdo aplikacion funksionon në një sistem të izoluar nga bërthama e OS, kështu që ky i fundit ndihet pak a shumë i sigurt. Së dyti, përdorimi i një makine virtuale hap rrugën për aplikacionet ndër-platformë, domethënë aplikacioni mund të funksionojë në një smartphone ARM, tabletë MIPS ose kompjuter x86.

"Siç e dini, gjatë gjithë kësaj kohe Android përdori makinën virtuale Dalvik, të cilën kushdo që është thelluar qoftë edhe pak në veçoritë e sistemit operativ ndoshta e ka hasur."


Pse të përdorni fare një kohë ekzekutimi të aplikacionit?

Kësaj pyetjeje i jemi përgjigjur tashmë më lart. Nuk ka dyshim se përdorimi i një makine virtuale ngadalëson ekzekutimin e aplikacioneve, por ka disa avantazhe që e lëkundin zgjedhjen në favor të saj.

  • Makina virtuale ekzekuton kodin e aplikacionit të palëve të treta në një mjedis të izoluar. Rrjedhimisht, kodi që mund të dëmtojë bërthamën e OS nuk do të jetë në gjendje të ndërveprojë drejtpërdrejt me skedarët e sistemit, gjë që do të mbrojë sistemin. Një avantazh i madh i përdorimit të një makine virtuale është funksionimi më i qëndrueshëm dhe më i besueshëm i sistemit kryesor.
  • Nëpërmjet Google Play Store dhe burimeve të tjera, zhvilluesi shpërndan një skedar APK të programit të tij, i cili përmban udhëzime të pakompiluara që do të "montohen" nga një makinë virtuale përpara ekzekutimit. Kjo zgjidhje ofron përputhshmëri më të madhe; përndryshe, kodi i përpiluar për pajisjet e bazuara në Snapdragon nuk do të mund të ekzekutohet në pajisjet Atom. Prandaj, makina virtuale zgjidh problemin me destinacionin e përpilimit.

Çfarë është Dalvik dhe cili është problemi i tij?

Kjo është pyetja kryesore. Dalvik është përdorur në Android që nga versioni i parë i OS, që nga viti 2007, dhe gjatë gjithë kësaj kohe ka pasur praktikisht një ndryshim të madh - shfaqja e "përpilimit në fluturim" në Froyo, i njohur më mirë si JIT. Karakteristika e tij kryesore është se aplikacioni kompilohet plotësisht kur përdoruesi hap ose ekzekuton udhëzimet përkatëse. Ky është një rregullim shumë i dobishëm, pasi para 2.2 të gjitha aplikacionet përpiloheshin hap pas hapi, gjë që uli shpejtësinë; Disavantazhi i vetëm i kësaj zgjidhjeje është se kur programi fillon, ka një ngarkesë serioze në procesor.

Për të shmangur punën shtesë gjatë ekzekutimit përsëri të programit, sistemi mbledh së bashku të gjitha udhëzimet e përpiluara gjatë përdorimit të aplikacionit dhe i dërgon ato në një cache, e cila ruhet në sistemin e skedarëve me shtesën *.ODEX (Optimized Dalvik EXecutable). Sapo të hapni aplikacionin për herë të dytë, Dalvik nuk do të përpilojë më, por do të ngarkojë në memorie të dhënat tashmë të optimizuara për pajisjen tuaj. Megjithatë, thirrja e një funksioni aplikacioni që nuk është përdorur më parë do të bëjë që udhëzimet të përpilohen përsëri. Nëse në këtë moment sistemi po kryen punë të palëve të treta (për shembull, duke dëgjuar muzikë ose duke përditësuar aplikacione), atëherë për shkak të mbingarkesës së procesorit dhe nënsistemeve hyrëse/dalëse, mund të vërehen dridhje dhe frena të dukshme në kujtesë. Këtu hyn ART.

Çfarë është ART dhe si do ta shpëtojë botën?

ART, ose Android RunTime (një emër shumë i shtrembër) është një makinë e re virtuale që Google prezantoi në Android 4.4 si një nga mjetet e zhvilluesit (Dalvik përdoret si parazgjedhje). Dallimi kryesor midis mjedisit të ri të ekzekutimit të aplikacionit është përdorimi i teknologjisë Ahead-Of-Time (AOT, "përpara kohe"). ART përpilon të gjitha udhëzimet e aplikimit përpara se të fillojë, gjatë procesit të instalimit. Koha e kësaj të fundit rritet, si dhe sasia e memories së përhershme të zënë nga programi, por makina virtuale nuk e përpilon më aplikacionin aktual gjatë ekzekutimit të tij, gjë që përmirëson komoditetin kur përdorni në mënyrë aktive multitasking. Megjithatë, këshillohet që të keni më shumë RAM, pasi ART do të ngarkojë në të edhe ato udhëzime aplikimi që mund të mos i përdorni kurrë.

Dalvik vs. ART


Le të krahasojmë shkurtimisht dy makinat virtuale


ART është ende një eksperiment

Sigurisht, për momentin ART është vetëm duke u testuar dhe është i disponueshëm vetëm për pajisjet me Android 4.4 dhe çipa nga Qualcomm. Megjithatë, tani mund të kaloni nga Dalvik në ART përmes veglave të fshehta të zhvilluesve (menyja hapet pas disa prekjeve në numrin e ndërtimit në informacionin e pajisjes). Ju lutemi vini re se jo të gjitha aplikacionet do të mund të punojnë në RTSH pa përditësime shtesë; Nga rruga, nisja e parë në modalitetin ART mund të zgjasë deri në 30 minuta.

Google e ka vënë ART-in në dispozicion të zhvilluesve tani, duke krijuar bazën për një kalim të plotë në këtë makinë virtuale në të ardhmen. Kjo nuk do të thotë që RTSH-ja është e qëndrueshme tani. Ky është një eksperiment dhe makina e re virtuale mund të mos jetë gati për përdorim të përditshëm.

Artikujt më të mirë mbi këtë temë