Яка різниця між відкладеними та дедекседованими ПЗУ ? Які стандартні (запасні) ПЗУ, які використовують кораблі?
Яка різниця між відкладеними та дедекседованими ПЗУ ? Які стандартні (запасні) ПЗУ, які використовують кораблі?
Відповіді:
.dex
Файл в основному скомпільовані версії байткод з програми , який був побудований для Dalvik VM , які програми Android, працювати на. Я вважаю, що Dalvik Executable це короткий, але я не впевнений, чи пам’ятаю це правильно.
.odex
Файл представляє собою оптимізований .dex
файл (звідси і «о»), що означає , що він в основному був попередньо скомпільовані для конкретної платформи. Перевагою цього є те, що час запуску набагато швидше, оскільки VM не потребує оптимізації під час запуску / виконання. Недоліками є 1) те, що він займає трохи додаткового місця, і 2) відкладений додаток не працюватиме належним чином, якщо він розміщений на іншому пристрої, і він повинен мати відповідний .odex
файл для запуску взагалі.
ПЗУ, як правило, випускаються у деодексованому вигляді, тому що вони можуть бути тематичними та модифікованими досить легко, тоді як тематизація / модифікація відкладеного ПЗУ в основному неможлива (у кращому випадку речі вийдуть з ладу як божевільні). Деякі люди також вирішили випустити свої ПЗУ в одайованих версіях для людей, які вважають за краще підвищення продуктивності.
Більшість дискових запасів, які я бачив, є одаксами, я вважаю, тому що оператори / виробники хочуть збільшити продуктивність. Вони також не мають жодних офіційних методів тематизації, тому вони, ймовірно, не хвилюються, якщо ви не зможете змінити кольори значків статусу або текст вашої системи чи що. Крім того, вони мають перевагу в тому, що вони знають, на якому пристрої вони хочуть запустити свою систему, тому вони можуть попередньо скласти .odex
файли дуже легко. Як додатковий бонус, це важко витягувати .apk
файли з пристрою та ділитися ними з людьми.
Редагувати: Оскільки я щойно зрозумів, що я не дуже чітко розглядаю тут різницю - "відкладений" ПЗУ - це той, де програми були попередньо скомпільовані, і таким чином містять пов'язані з ними .odex
файли, які є зовнішніми .apk
. "Деодексований" ПЗУ - це той, де дані, які були б оптимізовані у .odex
файлах, були більш-менш об'єднані назад у .apk
файли (це означає, що вони не оптимізовані, але в основному платформні агностики), таким чином, .apk
файли є автономними, і .odex
файлів немає. . Зазвичай це робиться за допомогою утиліти для деодексінгу, наприклад smali / baksmali .
Мені особисто хотілося дізнатися відповідь на це ще трохи тому. Ось що я придумав:
Додано і декодексировано
Перед випуском передбачається стандартний ПЗУ, який забезпечує більш плавне та швидке завантаження програм у пам'ять. Кожен .apk має відповідний .odex. Коли програма використовується або системою, або користувачем, .odex використовується для початку завантаження програми. ПЗУ, що декодесується, має лише файл .apk. Коли додаток викликається в пам'ять лише з витягування даних з нього .apk, це займає більше часу, оскільки його не оптимізують для більш легкого пошуку з системи.
Загальні питання, які мені занадто часто задають:
Щоб відповісти на ці питання, зводиться до одного слова - вміння. Якщо ви поговорите з ким-небудь, що має тему ROM, вони скажуть вам, що тематизувати декодесований ПЗУ надзвичайно простіше. Оскільки ми почали використовувати деодексований ПЗУ, темери тепер могли створювати теми, що застосовуються до ПЗУ, а не нудну опцію для тематизації самого ПЗУ (випустити спеціальний ПЗУ для теми). Якщо ви використовуєте відкладений ПЗУ і намагаєтесь застосувати теми, це не спрацює або лише відзначить деякі візуальні аспекти, що надасть вам жахливий інтерфейс користувача.
Мінуси Deodex
Надіюсь, вам зараз цікаво, чому… чому існує навіть можливість завантажити користувальницький ROM, який виправлений? Відповідь на це - швидкість. Пам'ятаєте, як я говорив, що одаєні файли оптимізовані для легшого пошуку? Простіше кажучи ... вона оптимізована (як індексація таблиці даних), щоб система могла швидше відкрити .apk.
Деодекс і ципалігн
Кожен бажав найкращого з обох світів так швидко після того, як тенденція до деодексації почала досягати свого піку, ці кмітливі розробники ПЗУ придумали рішення про розгортання при завантаженні. Це оптимізує кожен .apk при кожному перезавантаженні, що дозволяє системі отримувати доступ до додатків більш ефективно, а головне, швидше. Звичайно, недоліком є трохи повільніші часи завантаження.
Підсумок
Якщо у вас є вибір для завантаження користувальницького ПЗМ, виправленого чи деодексованого, я б просто перейшов із ROM ROM deodex. Ніколи не знаєш, коли ти захочеш спробувати тему або зробити якісь модифікації самостійно, і приємно мати прості варіанти, а не миготіння цілком нового ПЗУ. З новими пристроями ви, можливо, навіть не помічаєте помітної різниці в zipalign на завантаженні. Якщо ваш пристрій досить повільний і застарілий, то я б запропонував подумати над цим трохи складніше. Я б сказав, що деякі з вас вважають за краще отримати хороший мінімально оптимізований (одашений) ПЗУ для кращої продуктивності та швидкості порівняння з налаштуванням інтерфейсу користувача.
Якщо ви новачок, ви можете знайти деякі загальні умови, розміщені в моєму початковому описі тут: http://codeversed.com/deodexed-vs-odexed-rom
В іншому випадку вищесказане показує вам все, що потрібно знати. Якщо я щось пропустив, будь ласка, повідомте мене :)
Файл .dex (виконуваний файл dalvik) в основному схожий на файли .exe Windows (крім мови Dalvik VM замість компільованого коду). В основному, .odex (оптимізований виконуваний файл dalvik) і deodex (деоптимізований виконуваний файл dalvik) стосується способів обробки файлів ресурсів у додатках. .Odex - це .dex-файл, оптимізований програмою dexopt: http://www.netmite.com/android/mydroid/dalvik/docs/dexopt.html
Перевага
Недоліки