Qual è la differenza tra ROM odexed e deodexed ? Quali sono le ROM standard (stock) fornite dalla nave?
Qual è la differenza tra ROM odexed e deodexed ? Quali sono le ROM standard (stock) fornite dalla nave?
Risposte:
Un .dex
file è sostanzialmente una versione bytecode compilata di un'app che è stata creata per la VM Dalvik su cui vengono eseguite le app Android. Credo che sia l'abbreviazione di Dalvik Executable, ma non sono sicuro di ricordarmelo correttamente.
Un .odex
file è un .dex
file ottimizzato (da qui la 'o'), il che significa che è stato sostanzialmente pre-compilato per una piattaforma specifica. Il vantaggio è che il tempo di avvio è molto più veloce poiché la VM non deve eseguire alcuna ottimizzazione all'avvio / runtime. Gli svantaggi sono 1) Che occupa dello spazio extra e 2) Un'app odexed non funzionerà correttamente se viene inserita su un altro dispositivo e deve avere il .odex
file associato per funzionare.
Le ROM sono in genere rilasciate in forma deodexed perché possono essere tematiche e modificate abbastanza facilmente, mentre il tema / modifica di una ROM odex è sostanzialmente impossibile (nella migliore delle ipotesi le cose andrebbero in crash come un matto). Alcune persone scelgono anche di rilasciare le loro ROM in versioni odex per le persone che preferiscono i miglioramenti delle prestazioni.
La maggior parte delle ROM di scorta che ho visto sono odexate, presumo perché i vettori / produttori vogliono aumentare le prestazioni. Inoltre non hanno alcun tipo di metodi di temi ufficiali, quindi probabilmente non gli importa se non puoi cambiare i colori delle tue icone di stato o del testo del tuo sistema o quant'altro. Inoltre hanno il vantaggio di sapere su quale dispositivo vogliono far funzionare il loro sistema, quindi .odex
immagino che possano precompilare i file molto facilmente. Come bonus aggiuntivo, rende difficile estrarre i .apk
file dal dispositivo e condividerli con le persone.
Modifica: dal momento che mi sono appena reso conto che non ero molto esplicito sulla differenza qui - una ROM "odexed" è quella in cui le app sono state precompilate e quindi contengono .odex
file associati che sono esterni ai .apk
file. Una ROM "deodistrata" è quella in cui i dati che sarebbero stati ottimizzati nei .odex
file sono stati più o meno riuniti nei .apk
file (il che significa che non è ottimizzato ma sostanzialmente indipendente dalla piattaforma), quindi i .apk
file sono autonomi e non ci sono .odex
file . Questo di solito viene fatto solo con un'utilità di deodexing, come smali / baksmali .
Personalmente volevo sapere la risposta a questo poco tempo fa. Ecco cosa mi è venuto in mente:
Odexed e Deodexed
Una ROM standard dovrebbe essere odexata per il rilascio che fornisce un caricamento più fluido e più veloce delle app in memoria. Ogni .apk ha un .odex corrispondente. Quando l'applicazione viene utilizzata dal sistema o dall'utente, il .odex viene utilizzato per avviare il caricamento dell'app. Una ROM deodorata ha solo il file .apk. Quando l'applicazione viene richiamata in memoria solo estraendo i dati dal suo .apk, questo richiede più tempo a causa della non ottimizzazione per un più facile recupero dal sistema.
Le domande più frequenti che mi vengono poste troppo spesso sono:
Per rispondere a queste domande si riduce a una parola, temabilità. Se parli con qualcuno che ha come tema una ROM, ti diranno che è estremamente più semplice creare un tema su una ROM deodistrata. Da quando abbiamo iniziato a utilizzare le ROM deodexed, ora i temi potevano creare temi da applicare a una ROM piuttosto che la noiosa opzione di tema della stessa ROM (rilasciare una ROM personalizzata per un tema). Se usi una ROM odexata e provi ad applicare temi, non funzionerà o solo temi alcuni aspetti visivi, che ti daranno una terribile interfaccia utente da provare.
Deodex Cons
Scommetto che ora ti stai chiedendo perché ... perché c'è anche un'opzione per scaricare una ROM personalizzata che è odexed? La risposta è la velocità. Ricordi come ho detto che i file odex sono ottimizzati per un più facile recupero? In poche parole ... è ottimizzato (come indicizzare una tabella di dati) in modo che il sistema possa aprire .apk più velocemente.
Deodex e zipalign
Tutti volevano il meglio di entrambi i mondi così rapidamente dopo che la tendenza deodexed ha iniziato a raggiungere il picco, questi esperti sviluppatori ROM hanno trovato una soluzione per zipalign all'avvio. Ciò ottimizza ogni .apk ad ogni riavvio, consentendo quindi al sistema di accedere alle applicazioni in modo più efficiente e, soprattutto, più veloce. Naturalmente, lo svantaggio è che i tempi di avvio sono leggermente più lenti.
Sommario
Se hai la possibilità di scaricare la ROM personalizzata odexed o deodexed, andrei semplicemente con la ROM deodex. Non sai mai quando vorresti provare un tema o apportare alcune modifiche da solo ed è bello avere opzioni semplici piuttosto che eseguire il flashing di una ROM completamente nuova. Con i dispositivi più recenti potresti anche non notare una notevole differenza di zipalign all'avvio. Se il tuo dispositivo è piuttosto lento e obsoleto, allora suggerirei di pensarci un po 'più difficile. Scommetto che alcuni di voi preferirebbero ottenere una bella ROM minimizzata (odexed) per prestazioni e velocità migliori rispetto alla personalizzazione dell'interfaccia utente.
Se sei nuovo sull'argomento puoi trovare alcuni termini comuni che si trovano sul mio articolo originale qui: http://codeversed.com/deodexed-vs-odexed-rom
Altrimenti, quanto sopra ti mostra tutto ciò che devi sapere. Se ho perso qualcosa, per favore fatemi sapere :)
Un file .dex (eseguibile dalvik) è sostanzialmente simile ai file .exe di Windows (tranne nella lingua di Dalvik VM, invece del codice compilato). Fondamentalmente .odex (eseguibile dalvik ottimizzato) e deodex (eseguibile dalvik ottimizzato) si riferisce al modo in cui i file di risorse vengono gestiti nelle applicazioni. Il .odex è un file .dex che è stato ottimizzato dal programma dexopt: http://www.netmite.com/android/mydroid/dalvik/docs/dexopt.html
Vantaggio
Svantaggio