Sunt ROM-urile cu programe deodexate mai rapide sau mai lente decât cele odexate? (Android, Roms Personalizate, Performanță, Odex)

DVK a intrebat.

Sunt puțin confuz în legătură cu efectul deodexării (sau chiar cu terminologia).

Bazându-mă pe răspunsurile la „Care este diferența dintre rom-urile odexate și cele deodexate?”:

Un ROM „deodexed” este unul în care fișierele .odex au fost mai mult sau mai puțin fuzionate înapoi în fișierul .apk

Acesta pare să sugereze că un ROM „deodexed” este un ROM odexed (deci precompilat/optimizat) în care pachetul .apk conține elementele .odex în loc să fie într-un fișier separat.

Cu toate acestea, același răspuns are un citat aparent opus:

ROM-urile sunt de obicei lansate în formă deodexată pentru că pot fi tematizate și modificate destul de ușor, în timp ce tematizarea/modificarea unui ROM odexat este practic imposibilă (în cel mai bun caz, lucrurile s-ar bloca ca naiba). De asemenea, unii oameni aleg să își lanseze ROM-urile în versiune odexed pentru cei care preferă câștigul de performanță.

Acest al doilea citat pare să sugereze că ROM-ul deodexed NU are câștigurile de performanță ale ROM-ului odexed (pe baza ultimei propoziții) – bănuiesc că din cauză că elimină complet informațiile .odex de dragul portabilității/temei; în timp ce primul citat pare să spună că ROM-ul deodexed este la fel de optimizat ca și cel odexed, dar împachetat diferit.

Care dintre aceste înțelesuri este corect? Ce îmi scapă?

Exemplu:

  • Fission Vanilla: „ROM-ul are root și a fost deodexat, iar zip-ul aliniat”.

1 răspunsuri
Matthew Read

ROM-urile deodexate nu au fișierele .odex integrate în .apk-uri, acestea sunt eliminate. Ceea ce eldareathis a vrut să spună în răspunsul său la cealaltă întrebare este că dependența .apk-urilor de fișierele .odex este eliminată; unele informații sunt integrate înapoi în .apk, dar nu și în fișierul .odex propriu-zis. Această pagină conține câteva detalii tehnice.

ROM-urile deodexate pot fi ușor mai lente din această cauză; cu toate acestea, cred că, pe măsură ce memoria cache Dalvik este acumulată în urma utilizării ROM-ului, diferența de performanță este redusă la minimum.

Comentarii

  • Vă mulțumim! Ați putea să detaliați partea cu „diferența de performanță este minimizată”? Înseamnă că decalajul este eliminat complet pentru orice .apk după prima utilizare (și mimized se aplică la „nu fiecare .apk are un cache construit deodată), sau înseamnă că pentru un anumit .apk, versiunea odexed ar fi în continuare mai rapidă decât cea deodexed chiar și după ce cacge este construit? –  > Por DVK.
  • @DVK În general, cred că versiunea .odex ar fi în continuare mai rapidă, dar având fișiere .dex în cache elimină necesitatea de a traduce toate fișierele .apk la fiecare pornire. Cred că acest cost suplimentar este probabil mult mai semnificativ decât optimizările, în majoritatea cazurilor. –  > Por Matthew Read.
  • @DVK: Văd că a fost neclar în răspunsul meu anterior, așa că m-am întors și am încercat să clarific puțin. Vă mulțumim pentru că ați subliniat acest lucru. În ceea ce privește această întrebare, tot ceea ce a spus Matthew în răspunsul său este absolut corect. –  > Por eldarerathis.