- - Hvad er ART & Hvordan er det anderledes end Dalvik Virtual Machine på Android?

Hvad er ART & Hvordan er det forskelligt fra Dalvik Virtual Machine på Android?

I teknologiens verden, nye terminologier ogforkortelser er ikke noget nyt, og til tider kan du med hver ny udgivelse af endda eksisterende software muligvis se et nyt udtryk, som alle ser ud til at bruge og forstå. Problemet for begyndere og endda for mange afslappede brugere er imidlertid, at de hverken fuldt ud forstår, hvad den nye konnotation betyder, og de kan heller ikke let finde ud af det på egen hånd fra officielle kilder, primært på grund af det faktum, at udviklere ikke er i orden ' t for opsat på at forklare mange sådanne terminologier og deres tekniske detaljer. I bedste fald bliver du peget på et officielt link, der giver en forklaring, men i så tekniske termer, at det er temmelig ubrugeligt for en ikke-teknisk.

Vi hos AddictiveTips har altid været stolte afdumme ned tekniske koncepter og give svar i termer, der er behagelige for den afslappede bruger og den tekniske begynder. Da Google besluttede at introducere ART med Android 4.4 KitKat, så vi dette som en mulighed for at introducere vores læsere til det nye runtime-miljø og hjælpe alle med at forstå, hvad alt dette handler om, og hvordan er det forskelligt fra den virtuelle Dalvik-maskine, ART er ved at blive bygget til at erstatte.

Hvad-er-ART_vs-Dalvik-Android-Runtime-miljøer

Hvad er et kørselsmiljø?

Før vi kommer til at besvare det faktiske spørgsmål,vi er nødt til at forstå, hvad et runtime-miljø faktisk er. For at sætte de enkleste vilkår består runtime af softwareinstruktioner, der udføres, når dit program kører, selvom de ikke i det væsentlige er en del af koden til det pågældende software stykke. Disse instruktioner oversætter grundlæggende softwarens egen kode til den kode, computeren er i stand til at køre. Derfor kræver alle computersprog en slags runtime-miljø, der korrekt kan udføre koden, der er skrevet på dette sprog.

Android bruger en virtuel maskine som densruntime-miljø for at køre APK-filer, der udgør en Android-applikation. Fordelen ved at bruge en virtuel maskine er todelt - for det første er app-koden isoleret fra det centrale operativsystem, hvilket sikrer, at hvis noget går galt, det er indeholdt i et isoleret miljø og ikke påvirker det primære operativsystem. Og for det andet muliggør det krydskompatibilitet, hvilket betyder, at selv hvis en app er kompileret på en anden platform (f.eks. En pc, som det normalt er tilfældet med at udvikle mobile apps), kan de stadig udføres på den mobile platform ved hjælp af den virtuelle maskine .

For Android er den virtuelle maskinbaserede runtimemiljø, der hidtil er i brug, er kendt som Dalvik Virtual Machine, som jeg er sikker på, at enhver, der nogensinde har grave sig ind i detaljerne i OS, er mere end fortrolig med.

Hvorfor bruge en virtuel maskine overhovedet?

Det er faktisk det punkt, vi berørte lige over. Virtuelle maskiner er langsomt, det kan man ikke benægte, men de har faktisk et par fordele, der gør dem til et foretrukket valg.

  • Virtuelle maskiner leverer et isoleret miljøtil kodeudførelse. Selv hvis en app indeholder et ondsindet stykke kode, der kan beskadige kerne-operativsystemet, påvirker det derfor ikke systemfilerne direkte, og dermed vil kerne-operativsystemet ikke blive beskadiget. Den store fordel er mere stabilitet og pålidelighed for operativsystemet.
  • App-APK'erne, der leveres via Play Store(eller enhver anden kilde, for den sags skyld) er ukompilerede instruktioner, som udviklere stoler på, at den virtuelle maskine skal kompilere før eksekvering og køres på enheden. Dette giver mere kompatibilitet; Hvis udvikleren skulle give allerede kompileret kode og den blev kompileret til en Snapdragon-baseret processor, kører den muligvis ikke korrekt på en Tegra-chip, f.eks. Derfor kompilerer denne enhed på enheden dette problem.

Så hvad er Dalvik, og hvad er der galt med det?

Det er det spørgsmål, man skal stille, er det ikke? Dalvik har været der, siden Android startede tilbage i 2007, og det har ikke ændret sig meget siden da, bortset fra Just-In-Time (JIT) -samlingsmetoden, der blev introduceret i Android 2.2 Froyo, som dybest set kompilerer apps lige, når de er lanceret, eller når brugeren leverer de nødvendige instruktioner. Det er nyttigt, såvel som en forbedring i forhold til den tidligere konventionelle tolkemetode, der kompilerede og kørte kode linje for linje, mens den kørte, men ulempen er en enorm overhead, når appen lanceres for første gang.

Dette skyldes, at systemet skal trækkes sammenalle de nødvendige filer, kompiler appen, og indlæs den til RAM. Så længe den kompilerede app forbliver inden i RAM, vil den fortsat svare hurtigt, men når du indlæser flere apps, og RAM'et løber tør, bliver den første aflæst, og efterfølgende lancering starter hele processen. Fremgangsmåden giver mening på papiret, og har faktisk fungeret fint indtil nu for platformen. Ældre enheder med begrænset RAM lider dog mest, fordi indlæsnings- / aflæsningscyklussen fortsætter oftere, og systemet føles derfor langsomt med hensyn til den generelle lydhørhed. Det er her den nye virtuelle maskine, ART, kommer ind.

Hvad er KUNST & Hvordan forbedrer det tingene?

ART eller Android RunTime (temmelig halt navn, ja,vi ved) er en ny eksperimentel virtuel maskine, som Google har introduceret med Android 4.4 KitKat som en udviklerindstilling (hvor Dalvik stadig er det ene sæt som standard for nu). Den primære forskel mellem ART og Dalvik er den samlingsmetode, som begge af disse bruger - ART anvender et nyt Ahead-Of-Time (AOT) -koncept i modsætning til Dalviks JIT, der dybest set kompilerer apps, før de endda lanceres. Hvad dette betyder er, at førstegangsinstallationer vil tage længere tid, og apps vil optage mere plads på intern lagerplads, men på samme tid, da appen vil blive fuldt ud samlet, så snart den er installeret, vil starttiderne være meget hurtigere. Eftersom kompilationsdelen er taget hånd om bare en gang på installationstidspunktet, er processorafgiften lavere, hvilket resulterer i bedre batterilevetid og samlet ydeevne.

Dalvik Vs. ART - Sammenligning

Lad os bare foretage en hurtig sammenligning af begge de virtuelle maskiner, før vi går videre.

Dalvik

KUNST

Bruger Just-In-Time (JIT) -tilgang, hvilket resulterer i lavere forbrug af lagerplads, men længere appbelastningstiderBruger AOT-of-Time (AOT) -tilgang, som kompilerer apps, når de er installeret, hvilket resulterer i hurtigere belastningstider og lavere processorbrug
Cache bygges op over tid, så starttiderne er hurtigereCache er bygget ved den første start, og det tager betydeligt længere tid at genstarte enheden
Fungerer bedre til lavere interne lagerenheder, da den besatte plads er mindreForbruger meget mere intern lagerplads, da det gemmer kompilerede apps ud over APK'erne
Er stabil og tidstestet - VM valgt for appudviklereEr meget eksperimentel og ny - endnu ikke meget support fra appudviklere

Du siger, at ART er eksperimentelt ...

Ja, og lige nu er den kun tilgængelig påenheder med Snapdragon-chipsæt og kører Android 4.4 KitKat. Du har muligheden for at skifte fra Dalvik til ART fra de skjulte udviklerindstillinger, hvis du ønsker det, men vær opmærksom på, at nogle af dine apps muligvis ikke fungerer korrekt. Hvis der allerede er en app-cache, der allerede er bygget under Dalvik, kan den første genstart efter at have skiftet tage op til en halv time.

Google har primært gjort ART tilgængeligt medKitKat for udviklere at lege med og etablere grundene til en permanent switch i fremtiden. Og dette betyder på ingen måde, at ART er klar til brug i dag. Det vil være i fremtiden, men indtil videre er det eksperimentelt og ikke egnet til daglig brug af slutbrugeren.

Hvad angår fordelene ved ART, er der blandederapporter. For de fleste korrekturlæsere består testenhederne af quad-core-processorer med over 2 gigs RAM, hvilket er en mere end tilstrækkelig opsætning til virkelig at observere hastighedsgevinsten fra ART. Stadig rapporterer tilfældige brugere gevinster på op til 50% i hastighed og mere end 30% i batteriets levetid. Stadig andre hævder, at det ikke er andet end en placebo-effekt.

I al retfærdighed kan intet siges før detbliver tilgængelig for masser og mister det eksperimentelle tag. Derfor gemmer vi denne debat til senere. Hvad der med sikkerhed kan siges på dette punkt er, at ART er fremtiden. Google går sammen med forud for tidssamling for virkelig at matche iOS, det er det største modstykke, og ART vil bane vejen. Uanset hvor fjollet navnet kan se ud, eller hvor ufuldstændigt det er lige nu, fortsætter vi med at se ART mere og mere.

Kommentarer