- - Wat is ART en hoe verschilt het van de virtuele machine van Dalvik op Android?

Wat is ART en hoe verschilt het van de virtuele machine van Dalvik op Android?

In de wereld van technologie, nieuwe terminologieën enafkortingen zijn niets nieuws, en soms ziet u bij elke nieuwe release van zelfs bestaande software een nieuwe term die iedereen lijkt te gebruiken en te begrijpen. Het probleem voor beginners en zelfs heel veel losse gebruikers is echter dat ze niet volledig begrijpen wat de nieuwe connotatie betekent, noch kunnen ze er gemakkelijk zelf achter komen via officiële bronnen, voornamelijk vanwege het feit dat ontwikkelaars het is te enthousiast om veel van dergelijke terminologieën en hun technische details uit te leggen. In het beste geval wordt u gewezen op een officiële link die wel een uitleg geeft, maar in dergelijke technische termen dat het vrijwel nutteloos is voor een niet-techneut.

Wij bij AddictiveTips zijn er altijd trots op geweesttechnische concepten afzwakken en antwoorden geven in termen die aangenaam zijn voor de gewone gebruiker en de technische beginner. Toen Google besloot om ART met Android 4.4 KitKat te introduceren, zagen we dit als een kans om onze lezers kennis te laten maken met de nieuwe runtime-omgeving en iedereen te helpen begrijpen waar dit allemaal over gaat, en hoe anders is het dan de virtuele Dalvik-machine die ART wordt gebouwd om te vervangen.

Wat-is-ART_vs-Dalvik-Android-runtime-omgevingen

Wat is een runtimeomgeving?

Voordat we beginnen met het beantwoorden van de werkelijke vraag,we moeten begrijpen wat een runtime-omgeving eigenlijk is. Om het simpel te houden, runtime bestaat uit software-instructies die worden uitgevoerd wanneer uw programma wordt uitgevoerd, zelfs als ze in wezen geen deel uitmaken van de code van dat stuk software. Deze instructies vertalen in feite de eigen code van de software in de code die de computer kan uitvoeren. Daarom vereisen alle computertalen een soort runtime-omgeving die de code die in die taal is geschreven, correct kan uitvoeren.

Android maakt gebruik van een virtuele machine als zijnruntime-omgeving om de APK-bestanden uit te voeren die een Android-applicatie vormen. Het voordeel van het gebruik van een virtuele machine is tweeledig: ten eerste is de app-code geïsoleerd van het kernbesturingssysteem, zodat er iets misgaat in een geïsoleerde omgeving en geen invloed heeft op het primaire besturingssysteem. En ten tweede maakt het cross-compatibiliteit mogelijk, wat betekent dat zelfs als een app is gecompileerd op een ander platform (zoals een pc, zoals meestal het geval is bij het ontwikkelen van mobiele apps), deze nog steeds kunnen worden uitgevoerd op het mobiele platform met behulp van de virtuele machine .

Voor Android, de virtuele machine-gebaseerde runtimeomgeving die tot nu toe in gebruik is, staat bekend als de Dalvik Virtual Machine, waarvan ik zeker weet dat iemand die zich ooit heeft verdiept in de details van het besturingssysteem, er meer dan bekend mee is.

Waarom zou u een virtuele machine gebruiken?

Dat is eigenlijk het punt dat we net hierboven hebben aangeraakt. Virtuele machines zijn traag, dat valt niet te ontkennen, maar ze hebben eigenlijk een aantal voordelen waardoor ze een favoriete keuze zijn.

  • Virtuele machines bieden een geïsoleerde omgevingvoor code-uitvoering. Zelfs als een app een kwaadaardig stuk code bevat dat het kernbesturingssysteem kan beschadigen, heeft dit dus geen directe invloed op de systeembestanden en wordt het kernbesturingssysteem dus niet beschadigd. Het grote voordeel is meer stabiliteit en betrouwbaarheid voor het besturingssysteem.
  • De app-APK's die worden geleverd via Play Store(of een andere bron trouwens) zijn niet-gecompileerde instructies die ontwikkelaars vertrouwen op de virtuele machine om te compileren voordat ze worden uitgevoerd en op het apparaat worden uitgevoerd. Dit zorgt voor meer compatibiliteit; als de ontwikkelaar al gecompileerde code zou leveren en deze werd gecompileerd voor een Snapdragon-gebaseerde processor, zou deze mogelijk niet correct werken op een Tegra-chip. Vandaar dat deze compilatie op het apparaat dit probleem aanpakt.

Wat is Dalvik en wat is er mis mee?

Dat is de vraag om te stellen, nietwaar? Dalvik is er al sinds Android in 2007 is gestart en sindsdien is er niet veel veranderd, afgezien van de Just-In-Time (JIT) compilatiebenadering die is geïntroduceerd in Android 2.2 Froyo, die apps eigenlijk compileert op het moment dat ze gestart of wanneer de gebruiker de nodige instructies levert. Het is nuttig, evenals een verbetering ten opzichte van de vorige conventionele tolkbenadering die code regel voor regel compileerde en uitvoerde terwijl deze draaide, maar het nadeel is een enorme overhead wanneer de app voor het eerst wordt gelanceerd.

Dit komt omdat het systeem moet samenwerkenalle benodigde bestanden, compileer de app en laad deze in RAM. Zolang de gecompileerde app binnen het RAM blijft, blijft deze snel reageren, maar wanneer u meer apps laadt en het RAM-geheugen opraakt, wordt de eerste gelost en daarom begint het hele proces bij de daaropvolgende lancering. De aanpak is logisch op papier en werkt tot nu toe prima voor het platform. Oudere apparaten met beperkt RAM-geheugen lijden echter het meest, omdat de laad- / loscyclus vaker doorgaat, en daarom voelt het systeem traag in termen van algehele responsiviteit. Dat is waar de nieuwe virtuele machine, ART, binnenkomt.

Wat is KUNST & Hoe verbetert het dingen?

ART of Android RunTime (mooie naam, ja,we weten) is een nieuwe experimentele virtuele machine die Google heeft geïntroduceerd met Android 4.4 KitKat als een ontwikkelaaroptie (waarbij Dalvik voorlopig nog steeds de standaard is). Het belangrijkste verschil tussen ART en Dalvik is de compilatieaanpak die beide gebruiken - ART maakt gebruik van een nieuw Ahead-Of-Time (AOT) -concept in tegenstelling tot JIT van Dalvik, dat in feite apps compileert voordat ze zelfs worden gelanceerd. Wat dit betekent is dat de eerste installatie langer duurt en dat apps meer ruimte innemen op interne opslag, maar tegelijkertijd, omdat de app volledig wordt gecompileerd zodra deze is geïnstalleerd, zullen de opstarttijden veel sneller zijn. Omdat het compilatiegedeelte tijdens de installatie slechts één keer wordt verzorgd, is de belasting van de processor lager, wat resulteert in een betere levensduur van de batterij en algehele prestaties.

Dalvik Vs. ART - Vergelijking

Laten we een snelle vergelijking van beide virtuele machines maken voordat we verder gaan.

Dalvik

KUNST

Gebruikt Just-In-Time (JIT) -benadering, wat resulteert in een lager opslagruimte-verbruik maar langere laadtijden van appsGebruikt Ahead-Of-Time (AOT) -benadering, die apps compileert wanneer ze zijn geïnstalleerd, wat resulteert in snellere laadtijden en lager processorgebruik
Cache bouwt zich op in de loop van de tijd, dus opstarttijden zijn snellerCache is gebouwd bij de eerste keer opstarten, dus het herstarten van apparaat duurt aanzienlijk langer
Werkt beter voor lagere interne opslagapparaten, omdat de ingenomen ruimte minder isVerbruikt veel meer interne opslagruimte omdat het naast de APK's ook gecompileerde apps opslaat
Is stabiel en getest in de tijd - VM van keuze voor app-ontwikkelaarsIs zeer experimenteel en nieuw - nog niet veel ondersteuning van app-ontwikkelaars

U zegt dat ART experimenteel is ...

Ja, en nu is het alleen beschikbaar opapparaten met Snapdragon-chipsets en met Android 4.4 KitKat. U kunt desgewenst van Dalvik naar ART overschakelen van de verborgen ontwikkelaaropties, maar houd er rekening mee dat sommige van uw apps mogelijk niet goed werken. Als er al een app-cache is gebouwd onder Dalvik, kan de eerste herstart na het omschakelen een half uur duren.

Google heeft voornamelijk ART beschikbaar gesteld metKitKat voor ontwikkelaars om mee te spelen en de basis te leggen voor een permanente schakelaar in de toekomst. En dit betekent geenszins dat ART vandaag klaar is voor gebruik. Het zal in de toekomst zijn, maar voor nu is het experimenteel en niet geschikt voor dagelijks gebruik door de eindgebruiker.

Wat betreft de voordelen van ART, deze zijn gemengdrapporten. Voor de meeste recensenten bestaan ​​de testapparaten uit quad-core-processors met meer dan 2 gigabytes RAM, wat een meer dan adequate opstelling is om echt de snelheidswinst van ART te observeren. Toch rapporteren willekeurige gebruikers meer dan 50% in snelheid en meer dan 30% in batterijlevensduur. Weer anderen beweren dat het niets meer is dan een placebo-effect.

In alle eerlijkheid kan er niets over gezegd wordenkomt beschikbaar voor massa's en verliest de experimentele tag. Daarom bewaren we dat debat voor later. Wat op dit punt met zekerheid kan worden gezegd, is dat ART de toekomst is. Google gaat van tevoren compileren om echt overeen te komen met iOS, het is de grootste tegenhanger, en ART gaat de weg effenen. Hoe gek de naam misschien ook lijkt of onvolledig is, we blijven ART steeds meer zien.

Comments