Scusate nn saprei in quale sezone chiedere: che differenza c'è tra i due diversi runtime? Davlik o l'altra?
Inviato dal mio SM-N910F usando Androidiani App
Scusate nn saprei in quale sezone chiedere: che differenza c'è tra i due diversi runtime? Davlik o l'altra?
Inviato dal mio SM-N910F usando Androidiani App
Ciao, potevi chiedere anche in No Modding. Ti esplico le differenze
Premessa:
Per capire la differenza tra Dalvik e ART bisogna innanzitutto capire cosa sia un ambiente di runtime o di esecuzione o tempo di esecuzione. Per dirla in termini semplici, un ambiente di runtime comprende istruzioni software che vengono eseguite quando il programma è in esecuzione. Queste istruzioni praticamente traducono il proprio codice software nel codice che il telefono è in grado di eseguire. Pertanto, tutti i linguaggi di programmazione richiedono una sorta di ambiente di runtime in grado di eseguire correttamente il codice scritto in quel linguaggio.
Android fa uso di una macchina virtuale come ambiente runtime per eseguire i file APK che costituiscono un’applicazione Android. Il vantaggio di utilizzare una macchina virtuale è duplice – in primo luogo, il codice di applicazione è isolato dal sistema operativo di base, in modo che se qualcosa dovesse andare storto, è contenuta in un ambiente isolato e non influenza il sistema operativo primario.
Le macchine virtuali forniscono un ambiente isolato per l’esecuzione del codice. Quindi, anche se l’applicazione contiene un pezzo di codice maligno che può danneggiare il sistema operativo di base, esso non influirà direttamente sui file di sistema, e quindi il sistema operativo di base sarà tenuto al sicuro da danneggiamenti. Il vantaggio su larga scala è una maggiore stabilità e affidabilità del sistema operativo.
Gli APK delle app che vengono scaricati tramite Play Store (o da qualsiasi altra fonte) sono istruzioni non compilate che gli sviluppatori basano sulla macchina virtuale per compilare prima dell’esecuzione ed eseguire sul dispositivo. Ciò fornisce una maggiore compatibilità, se lo sviluppatore dovesse fornire il codice già compilato ed è stato compilato per un processore basato su Snapdragon, potrebbe non funzionare correttamente su un chip Tegra, per esempio. Quindi, questa compilazione sul dispositivo risolve questo problema.
Per Android, la macchina virtuale basata sull’ambiente di runtime in uso finora è conosciuta come Dalvik Virtual Machine, che, sono sicuro che chiunque abbia mai scavato nei dettagli del sistema operativo, è più che familiare.
Dalvik e Art:
Dalvik è presente nell’OS Android fin dal principio nel 2007 e non è cambiato molto da allora, a parte il metodo di compilazione Just-In-Time (JIT), introdotto in Android 2.2 Froyo, che in sostanza compila in modo giusto le applicazioni che vengono lanciate o quando l’utente fornisce le istruzioni necessarie. È un miglioramento rispetto al precedente approccio dell’interprete convenzionale che compilava e caricava codice riga per riga, ma il lato negativo è un sovraccarico enorme quando l’app viene lanciata per la prima volta. Questo perché il sistema ha bisogno di mettere insieme tutti i file necessari, compilare l’applicazione e caricarla nella RAM. Finché l’applicazione compilata rimane all’interno della RAM, continuerà a rispondere velocemente, ma quando si caricano più applicazioni e la RAM si esaurisce, la prima app aperta viene chiusa e, quindi, al successivo lancio, l’intero processo ricomincia. L’approccio ha senso su carta, e in effetti, ha lavorato bene fino ad ora per la piattaforma. Tuttavia, i dispositivi anziani con RAM limitata soffrono di più, poiché il ciclo di carico/scarico (avvio/blocco) continua più spesso, e quindi, il sistema rallenta in termini di reattività complessiva. Ecco dove la nuova macchina virtuale, ART, entra in gioco.
ART, o Android RunTime è una nuova macchina virtuale sperimentale che Google ha introdotto con Android 4.4 KitKat come opzione per gli sviluppatori (con Dalvik ancora impostato come predefinito per ora). La differenza principale tra ART e Dalvik è l’approccio alla compilazione che entrambi impiegano – ART si avvale di un nuovo Ahead-Of-Time (AOT) concetto contrario al JIT di Dalvik, che raccoglie le applicazioni prima che esse vengano lanciate. Ciò significa che per la prima installazione ci vorrà più tempo, e le applicazioni occuperanno più spazio nella memoria interna, ma allo stesso tempo, dal momento che l’applicazione sarà completamente compilata appena installata, i tempi di lancio saranno molto più veloci. Allo stesso modo, dal momento che la compilazione avviene solo una volta al momento dell’installazione, il tasso di utilizzo del processore è più basso, il che si traduce in una migliore durata della batteria e delle prestazioni complessive.
Spero di esserti stato di aiuto.
Leggi il regolamento del Forum
Sto Guidando (cit. Dieguccio)“È quando le aspettative sono ridotte a zero che si apprezza veramente ciò che si ha.”(cit. S.H.)
Grazie! Da quello che ho capito in linea di massima conviene Art, ma per adesso è un po' problematico poiché non è completamente integrato con le applicazioni odierne
Inviato dal mio SM-N910F usando Androidiani App
considerando che è un argomento interessante e che la spiegazione di @DreamReaper è stata più che soddisfacente (ma molto di più ), ho sposstato i post in una discussione a se, così da poter essere di facile consultazione per tutti
buon proseguimento
sinceramente al momento non si notano differenze tra i due metodi... probabile che con Lollipop e art sarà più marcata la differenza rispetto a dalvik su kit kat?
Ultima modifica di Anna; 14-11-14 alle 16:17
Ma come mai con i routine art non funziona shealth?
Leggi il regolamento del Forum
Sto Guidando (cit. Dieguccio)“È quando le aspettative sono ridotte a zero che si apprezza veramente ciò che si ha.”(cit. S.H.)
mitic (19-11-14)
Dopo una settimana di utilizzo in Dalvik ieri sono passato in Art... Ci ha messo oltre 20 minuti e tolto oltre il 30% di batteria per riprocessare le oltre 350 app, ma devo dire che la differenza si nota, sopratutto nel multitasking, le app sono fulminee e non ho avuto fin ora nessun FC apparte S-health... Però la domanda sorge spontanea: ora che non si necessita di tanta potenza(essendo gia precompilate le app; giusto?!); a che serve questo snap 805 ?
Usando ART, vi funzionano bene le app Amazon e Google Maps?