В чем разница между одетыми и деоксимированными ПЗУ?

В чем разница между odexed и deodexed ROM ? Каковы стандартные (запасные) ПЗУ, которые используют судно?

42 голоса | спросил Jeremy Edwards 12 MaramSat, 12 Mar 2011 07:23:00 +03002011-03-12T07:23:00+03:0007 2011, 07:23:00

3 ответа


38

Файл .dex - это, в основном, скомпилированная версия байт-кода приложения, которое было создано для Dalvik VM, на котором работают приложения Android. Я считаю, что для Dalvik Executable недостаточно, но я не уверен, правильно ли я это помню.

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

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

Большинство запасных дисков, которые я видел, одексели, я полагаю, потому что перевозчики /производители хотят повысить производительность. У них также нет каких-либо официальных методов тематики, поэтому им, вероятно, все равно, не изменить цвета значков состояния или системного текста или еще чего-то еще. Плюс у них есть преимущество, зная, какое устройство они хотят, чтобы их система работала, поэтому они могут очень легко скомпилировать файлы .odex. В качестве дополнительного бонуса это затрудняет извлечение файлов .apk с устройства и обмен ими с людьми.

Изменить: . Поскольку я только понял, что я не очень четко объяснял разницу здесь - «одексед» ROM - это тот, где приложения были предварительно скомпилированы и, следовательно, содержат связанный .odex, которые являются внешними для файлов .apk. «Дедексированный» ПЗУ - это тот, где данные, которые были бы оптимизированы в файлах .odex, были более или менее объединены в файлы .apk (что означает, что он не оптимизирован но в основном платформенный агностик), поэтому файлы .apk являются автономными и не содержат файлов .odex. Обычно это делается с помощью утилиты deodexing, например smali /baksmali .

ответил eldarerathis 12 MaramSat, 12 Mar 2011 08:13:25 +03002011-03-12T08:13:25+03:0008 2011, 08:13:25
7

Я лично хотел узнать ответ на это немного назад. Вот что я придумал:

Odexed и Deodexed

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

Частые вопросы, которые меня часто задают, следующие:

  1. Почему пользовательский ROM дедексирован?
  2. Должен ли я использовать odexed или deodexed ROM?

Чтобы ответить на эти вопросы, это сводится к одному слову, пригодности. Если вы поговорите с кем-нибудь о том, что темы ROM'а, они скажут вам, что очень просто прочесть дедексированный ROM. Поскольку мы начали использовать дедексированные ROM, теперь пользователи могли создавать темы для применения к ROM, а не утомительный вариант для темы самого ПЗУ (выпуск пользовательского ПЗУ для темы). Если вы используете odexed ROM и пытаетесь применить темы, это не сработает или будет только тема некоторых визуальных аспектов, что даст вам ужасный пользовательский интерфейс, чтобы испытать.

Deodex Cons

Готов поспорить, теперь вы задаетесь вопросом, почему ... почему есть возможность загрузить пользовательский ПЗУ, который является odexed? Ответ на это - скорость. Помните, как я сказал, что odexed файлы оптимизированы для облегчения поиска? Просто попробуйте оптимизировать его (например, индексировать таблицу данных), чтобы система могла быстрее открывать .apk.

Deodex и zipalign

Каждый стремился к лучшему из обоих миров так быстро после того, как дезоксированная тенденция начала пик, эти опытные разработчики ПЗУ придумали решение для zipalign при загрузке. Это оптимизирует каждый .apk при каждой перезагрузке, которая затем позволяет системе получать доступ к приложениям более эффективно и, что наиболее важно, быстрее. Конечно, недостатком является немного более медленное время загрузки.

Резюме

Если у вас есть выбор для загрузки пользовательского ROM, одексерованного или дедексированного, я бы просто пошел с дедеокс ROM. Вы никогда не знаете, когда захотите испытать тему или сделать некоторые изменения самостоятельно, и приятно иметь простые варианты, а не мигать совершенно новым ПЗУ. С более новыми устройствами вы даже не можете заметить заметную разницу в zipalign при загрузке. Если ваше устройство довольно медленно и устарело, тогда я бы предложил подумать об этом немного сложнее. Я бы пообещал, что некоторые из вас предпочтут получить хороший минимально оптимизированный (odexed) ROM для лучшей производительности и скорости над настройкой пользовательского интерфейса.

Если вы новичок в теме, вы можете найти некоторые общие термины, расположенные в моей первоначальной записи: http: //codeversed.com/deodexed-vs-odexed-rom

В противном случае приведенное выше показывает вам все, что вам нужно знать. Если я пропустил что-нибудь, сообщите мне:)

ответил Codeversed 26 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowThu, 26 Sep 2013 05:55:55 +0400 2013, 05:55:55
0

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

Преимущество

  • odex быстрее
  • упрощает настройку темы

Неудобство

  • deodex работает медленнее при первом запуске
  • файлы .odex упрощают работу с тегами
ответил Lie Ryan 12 MaramSat, 12 Mar 2011 08:35:45 +03002011-03-12T08:35:45+03:0008 2011, 08:35:45

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132