- - Cos'è ART e in cosa differisce dalla macchina virtuale Dalvik su Android?

Cos'è ART e in che cosa differisce dalla macchina virtuale Dalvik su Android?

Nel mondo della tecnologia, nuove terminologie ele abbreviazioni non sono una novità e, a volte, con ogni nuova versione anche del software esistente, potresti vedere un nuovo termine coniato che tutti sembrano usare e capire. Il problema per i principianti e anche per molti utenti occasionali, tuttavia, è che non comprendono appieno il significato della nuova connotazione, né possono facilmente scoprirlo da fonti ufficiali, principalmente a causa del fatto che gli sviluppatori non sono " sono troppo entusiasta di spiegare molte di queste terminologie e i loro dettagli tecnici. Nella migliore delle ipotesi, verrai indirizzato a un link ufficiale che fornisce una spiegazione, ma in termini tecnici che è praticamente inutile per un non tecnico.

Noi di AddictiveTips siamo sempre stati orgogliosismorzare concetti tecnici e fornire risposte in termini che siano graditi all'utente occasionale e al principiante della tecnologia. Quindi, quando Google ha deciso di introdurre ART con Android 4.4 KitKat, abbiamo visto questa come un'opportunità per presentare ai nostri lettori il nuovo ambiente di runtime e aiutare tutti a capire di cosa si tratta, e in cosa differisce dalla macchina virtuale Dalvik che L'ARTE è stata costruita per sostituire.

Is-What-ART_vs-Dalvik-Android-runtime-ambienti

Che cos'è un ambiente di runtime?

Prima di rispondere alla domanda effettiva,dobbiamo capire che cos'è effettivamente un ambiente di runtime. Per dirla in parole povere, il runtime comprende istruzioni software che vengono eseguite quando il programma è in esecuzione, anche se non fanno essenzialmente parte del codice di quel software in particolare. Queste istruzioni traducono sostanzialmente il codice del software nel codice che il computer è in grado di eseguire. Pertanto, tutti i linguaggi del computer richiedono una sorta di ambiente di runtime in grado di eseguire correttamente il codice scritto in quella lingua.

Android utilizza una macchina virtuale come suaambiente di runtime per eseguire i file APK che costituiscono un'applicazione Android. Il vantaggio dell'utilizzo di una macchina virtuale è duplice: in primo luogo, il codice dell'app è isolato dal sistema operativo principale, assicurando che se qualcosa dovesse andare storto, è contenuto in un ambiente isolato e non influisce sul sistema operativo principale. In secondo luogo, consente la compatibilità incrociata, il che significa che anche se un'app è compilata su un'altra piattaforma (come un PC, come di solito accade con lo sviluppo di app mobili), possono comunque essere eseguiti sulla piattaforma mobile utilizzando la macchina virtuale .

Per Android, il runtime basato su macchina virtualeL'ambiente in uso finora è noto come Dalvik Virtual Machine, che, sono sicuro che chiunque abbia mai scavato nei dettagli del sistema operativo, è più che familiare.

Perché usare una macchina virtuale?

Questo è in realtà il punto che abbiamo toccato appena sopra. Le macchine virtuali sono lente, non si può negarlo, ma in realtà hanno un paio di vantaggi che le rendono una scelta preferita.

  • Le macchine virtuali forniscono un ambiente isolatoper l'esecuzione del codice. Pertanto, anche se un'app contiene un pezzo di codice dannoso che può danneggiare il sistema operativo principale, non influirà direttamente sui file di sistema e, pertanto, il sistema operativo principale non verrà danneggiato. Il vantaggio su larga scala è maggiore stabilità e affidabilità per il sistema operativo.
  • Gli APK delle app forniti tramite Play Store(o qualsiasi altra fonte, del resto) sono istruzioni non compilate che gli sviluppatori si affidano alla macchina virtuale per compilare prima dell'esecuzione ed eseguire sul dispositivo. Ciò fornisce una maggiore compatibilità; se lo sviluppatore dovesse fornire codice già compilato ed è stato compilato per un processore basato su Snapdragon, ad esempio, potrebbe non funzionare correttamente su un chip Tegra. Pertanto, questa raccolta sul dispositivo risolve questo problema.

Allora, cos'è Dalvik e cosa c'è che non va?

Questa è la domanda da porsi, no? Dalvik è lì da quando Android è iniziato nel 2007, e da allora non è cambiato molto, a parte l'approccio basato sulla compilazione Just-In-Time (JIT) introdotto in Android 2.2 Froyo, che sostanzialmente compila app proprio quando sono avviato o quando l'utente fornisce le istruzioni necessarie. È utile, oltre a un miglioramento rispetto al precedente approccio di interprete convenzionale che ha compilato ed eseguito il codice riga per riga durante l'esecuzione, ma il rovescio della medaglia è un enorme sovraccarico quando l'app viene lanciata per la prima volta.

Questo perché il sistema deve mettere insiemetutti i file necessari, compila l'app e caricala nella RAM. Finché l'app compilata rimane all'interno della RAM, continuerà a rispondere rapidamente, ma quando si caricano più app e la RAM si esaurisce, la prima viene scaricata e quindi, al successivo avvio, l'intero processo ricomincia. L'approccio ha senso sulla carta e, di fatto, ha funzionato bene fino ad ora per la piattaforma. Tuttavia, i dispositivi più vecchi con RAM limitata soffrono di più, perché il ciclo di carico / scarico continua più spesso e, quindi, il sistema sembra lento in termini di reattività generale. È qui che entra in gioco la nuova macchina virtuale, ART.

Che cos'è ART e come migliora le cose?

ART o Android RunTime (bel nome zoppo, sì,sappiamo) è una nuova macchina virtuale sperimentale che Google ha introdotto con Android 4.4 KitKat come opzione di sviluppo (per il momento Dalvik è ancora quello impostato come predefinito). La differenza principale tra ART e Dalvik è l'approccio di compilazione che entrambi utilizzano: ART utilizza un nuovo concetto di Ahead-Of-Time (AOT) contrariamente al JIT di Dalvik, che fondamentalmente compila le app prima ancora che vengano lanciate. Ciò significa che le installazioni per la prima volta impiegheranno più tempo e le app occuperanno più spazio sulla memoria interna, ma allo stesso tempo, poiché l'app sarà completamente compilata non appena installata, i tempi di avvio saranno molto più veloci. Allo stesso modo, poiché la parte della compilazione è curata solo una volta al momento dell'installazione, la tassazione del processore è inferiore, il che si traduce in una migliore durata della batteria e prestazioni complessive.

Dalvik vs. ARTE - Confronto

Facciamo solo un rapido confronto di entrambe le macchine virtuali prima di procedere.

Dalvik

ARTE

Utilizza l'approccio Just-In-Time (JIT), che comporta un consumo di spazio di archiviazione inferiore ma tempi di caricamento delle app più lunghiUtilizza l'approccio Ahead-of-time (AOT), che compila le app quando sono installate, con tempi di caricamento più rapidi e un minore utilizzo del processore
La cache si accumula nel tempo, quindi i tempi di avvio sono più rapidiLa cache viene creata al primo avvio, quindi il riavvio del dispositivo richiede molto più tempo
Funziona meglio con dispositivi di archiviazione interna inferiori poiché lo spazio occupato è minoreConsuma molto più spazio di archiviazione interno poiché memorizza app compilate oltre agli APK
È stabile e testato nel tempo - VM di scelta per gli sviluppatori di appÈ altamente sperimentale e nuovo, non c'è ancora molto supporto da parte degli sviluppatori di app

Dici che l'ARTE è sperimentale ...

Sì, e ora è disponibile solo sudispositivi con chipset Snapdragon e Android 4.4 KitKat in esecuzione. Se lo desideri, hai la possibilità di passare da Dalvik a ART dalle opzioni di sviluppo nascoste, ma tieni presente che alcune delle tue app potrebbero non funzionare correttamente. Inoltre, se esiste una cache dell'app già creata in Dalvik, il primo riavvio dopo aver effettuato il passaggio potrebbe richiedere fino a mezz'ora.

Google ha principalmente reso disponibile ART conKitKat per gli sviluppatori con cui giocare e stabilire le basi per un passaggio permanente in futuro. E questo non implica affatto che ART sia pronto per l'uso oggi. Sarà in futuro, ma per ora è sperimentale e non adatto all'uso quotidiano da parte dell'utente finale.

Per quanto riguarda i benefici di ART, ci sono mistirapporti. Per la maggior parte dei revisori, i dispositivi di test comprendono processori quad-core con oltre 2 GB di RAM, che è una configurazione più che adeguata per osservare veramente i guadagni di velocità da ART. Tuttavia, gli utenti casuali segnalano un aumento del 50% della velocità e oltre il 30% della durata della batteria. Altri ancora affermano che non è altro che un effetto placebo.

In tutta onestà, non si può dire nulla primadiventa disponibile per le masse e perde il tag sperimentale. Quindi, salveremo quel dibattito per dopo. Ciò che si può dire a questo punto con certezza è che l'ARTE è il futuro. Google andrà avanti con la compilazione in anticipo per abbinare davvero iOS, è la più grande controparte e ART aprirà la strada. Non importa quanto possa sembrare sciocco il nome o quanto sia incompleto in questo momento, continueremo a vedere sempre più ART.

Commenti