Яка різниця між відкладеними та дедекседованими ПЗУ?


Відповіді:


39

.dexФайл в основному скомпільовані версії байткод з програми , який був побудований для Dalvik VM , які програми Android, працювати на. Я вважаю, що Dalvik Executable це короткий, але я не впевнений, чи пам’ятаю це правильно.

.odexФайл представляє собою оптимізований .dexфайл (звідси і «о»), що означає , що він в основному був попередньо скомпільовані для конкретної платформи. Перевагою цього є те, що час запуску набагато швидше, оскільки VM не потребує оптимізації під час запуску / виконання. Недоліками є 1) те, що він займає трохи додаткового місця, і 2) відкладений додаток не працюватиме належним чином, якщо він розміщений на іншому пристрої, і він повинен мати відповідний .odexфайл для запуску взагалі.

ПЗУ, як правило, випускаються у деодексованому вигляді, тому що вони можуть бути тематичними та модифікованими досить легко, тоді як тематизація / модифікація відкладеного ПЗУ в основному неможлива (у кращому випадку речі вийдуть з ладу як божевільні). Деякі люди також вирішили випустити свої ПЗУ в одайованих версіях для людей, які вважають за краще підвищення продуктивності.

Більшість дискових запасів, які я бачив, є одаксами, я вважаю, тому що оператори / виробники хочуть збільшити продуктивність. Вони також не мають жодних офіційних методів тематизації, тому вони, ймовірно, не хвилюються, якщо ви не зможете змінити кольори значків статусу або текст вашої системи чи що. Крім того, вони мають перевагу в тому, що вони знають, на якому пристрої вони хочуть запустити свою систему, тому вони можуть попередньо скласти .odexфайли дуже легко. Як додатковий бонус, це важко витягувати .apkфайли з пристрою та ділитися ними з людьми.

Редагувати: Оскільки я щойно зрозумів, що я не дуже чітко розглядаю тут різницю - "відкладений" ПЗУ - це той, де програми були попередньо скомпільовані, і таким чином містять пов'язані з ними .odexфайли, які є зовнішніми .apk. "Деодексований" ПЗУ - це той, де дані, які були б оптимізовані у .odexфайлах, були більш-менш об'єднані назад у .apkфайли (це означає, що вони не оптимізовані, але в основному платформні агностики), таким чином, .apkфайли є автономними, і .odexфайлів немає. . Зазвичай це робиться за допомогою утиліти для деодексінгу, наприклад smali / baksmali .


Остання редакція, яка робила речі більш явними, була дуже корисною. +1
rbrito

7

Мені особисто хотілося дізнатися відповідь на це ще трохи тому. Ось що я придумав:

Додано і декодексировано

Перед випуском передбачається стандартний ПЗУ, який забезпечує більш плавне та швидке завантаження програм у пам'ять. Кожен .apk має відповідний .odex. Коли програма використовується або системою, або користувачем, .odex використовується для початку завантаження програми. ПЗУ, що декодесується, має лише файл .apk. Коли додаток викликається в пам'ять лише з витягування даних з нього .apk, це займає більше часу, оскільки його не оптимізують для більш легкого пошуку з системи.

Загальні питання, які мені занадто часто задають:

  1. Чому користувальницький ROM деедесований?
  2. Чи слід використовувати відмежений або дезодекований ПЗУ?

Щоб відповісти на ці питання, зводиться до одного слова - вміння. Якщо ви поговорите з ким-небудь, що має тему ROM, вони скажуть вам, що тематизувати декодесований ПЗУ надзвичайно простіше. Оскільки ми почали використовувати деодексований ПЗУ, темери тепер могли створювати теми, що застосовуються до ПЗУ, а не нудну опцію для тематизації самого ПЗУ (випустити спеціальний ПЗУ для теми). Якщо ви використовуєте відкладений ПЗУ і намагаєтесь застосувати теми, це не спрацює або лише відзначить деякі візуальні аспекти, що надасть вам жахливий інтерфейс користувача.

Мінуси Deodex

Надіюсь, вам зараз цікаво, чому… чому існує навіть можливість завантажити користувальницький ROM, який виправлений? Відповідь на це - швидкість. Пам'ятаєте, як я говорив, що одаєні файли оптимізовані для легшого пошуку? Простіше кажучи ... вона оптимізована (як індексація таблиці даних), щоб система могла швидше відкрити .apk.

Деодекс і ципалігн

Кожен бажав найкращого з обох світів так швидко після того, як тенденція до деодексації почала досягати свого піку, ці кмітливі розробники ПЗУ придумали рішення про розгортання при завантаженні. Це оптимізує кожен .apk при кожному перезавантаженні, що дозволяє системі отримувати доступ до додатків більш ефективно, а головне, швидше. Звичайно, недоліком є ​​трохи повільніші часи завантаження.

Підсумок

Якщо у вас є вибір для завантаження користувальницького ПЗМ, виправленого чи деодексованого, я б просто перейшов із ROM ROM deodex. Ніколи не знаєш, коли ти захочеш спробувати тему або зробити якісь модифікації самостійно, і приємно мати прості варіанти, а не миготіння цілком нового ПЗУ. З новими пристроями ви, можливо, навіть не помічаєте помітної різниці в zipalign на завантаженні. Якщо ваш пристрій досить повільний і застарілий, то я б запропонував подумати над цим трохи складніше. Я б сказав, що деякі з вас вважають за краще отримати хороший мінімально оптимізований (одашений) ПЗУ для кращої продуктивності та швидкості порівняння з налаштуванням інтерфейсу користувача.

Якщо ви новачок, ви можете знайти деякі загальні умови, розміщені в моєму початковому описі тут: http://codeversed.com/deodexed-vs-odexed-rom

В іншому випадку вищесказане показує вам все, що потрібно знати. Якщо я щось пропустив, будь ласка, повідомте мене :)


1

Файл .dex (виконуваний файл dalvik) в основному схожий на файли .exe Windows (крім мови Dalvik VM замість компільованого коду). В основному, .odex (оптимізований виконуваний файл dalvik) і deodex (деоптимізований виконуваний файл dalvik) стосується способів обробки файлів ресурсів у додатках. .Odex - це .dex-файл, оптимізований програмою dexopt: http://www.netmite.com/android/mydroid/dalvik/docs/dexopt.html

Перевага

  • odex швидше
  • це полегшує тематизацію

Недоліки

  • deodex повільніше при першому запуску
  • файли .odex ускладнюють тематизацію

"Deodex" не означає деоптимізований .dex, це означає видалення файлів .odex (де-додавання файлів .odex, по суті). eldarerathis має це право.
Матвій

Дякуємо, що надали критичну інформацію про відстеження, що стосується ресурсів! Це сказав: Порівняння EXE не є великим.
Пол
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.