As ROMs com programas desodexados são mais rápidas ou mais lentas que as odexadas?

8

Estou um pouco confuso com o efeito de desodexar (ou mesmo com terminologia).

Com base nas respostas para " Qual é a diferença entre as ROMs odexadas e desodexadas? ":

Uma ROM "deodexed" é aquela em que os arquivos .odex foram mais ou menos mesclados de volta ao .apk

Este parece sugerir que a ROM "desodexada" é uma ROM odexada (portanto pré-compilada / otimizada), na qual o pacote .apk contém o material .odex, em vez de estar em um arquivo separado.

No entanto, a mesma resposta tem uma citação aparentemente oposta:

As ROMs geralmente são liberadas na forma desodexada porque podem ser temáticas e modificadas com bastante facilidade, enquanto que a modificação / modificação de uma ROM odexada é basicamente impossível (na melhor das hipóteses, as coisas poderiam falhar como loucas). Algumas pessoas também optam por liberar suas ROMs em versões irritantes para pessoas que preferem os ganhos de desempenho.

Essa segunda citação parece implicar que a ROM desodexada NÃO possui os ganhos de desempenho da ROM odexada (com base na última frase) - suponho que ela remova completamente as informações .odex em nome da portabilidade / tema; enquanto a primeira citação parece dizer que a ROM desodexada é tão otimizada quanto a odexed, mas empacotada de maneira diferente.

Qual desses significados está correto? o que estou perdendo?

Exemplo:

  • Fissão Vanilla: "A ROM possui raiz e foi desodexada e zip alinhada"
DVK
fonte

Respostas:

8

As ROMs desodexadas não têm os arquivos .odex integrados nos .apk, elas são removidas. O que eldareathis quis dizer em sua resposta à outra pergunta é que a confiança dos arquivos .apk nos arquivos .odex é removida; algumas informações são integradas novamente ao .apk, mas não ao próprio arquivo .odex. Esta página possui alguns detalhes técnicos.

ROMs desodexadas podem ser um pouco mais lentas por causa disso; no entanto, acredito que, como o cache Dalvik é construído usando a ROM, a diferença de desempenho é minimizada.

Matthew Read
fonte
obrigado! Você seria capaz de elaborar a peça "a diferença de desempenho é minimizada"? Isso significa que a lacuna é eliminada completamente para qualquer .apk após o primeiro uso (e mimetizado se aplica a "nem todo .apk possui um cache criado de uma só vez) ou significa que, para uma determinada .apk, uma versão odexada ainda ser mais rápido do que o deodexed mesmo após a cacge é construída?
DVK
@DVK Em geral, acho que o .odex ainda seria mais rápido, mas ter arquivos .dex em cache elimina a necessidade de traduzir todo o .apk em cada inicialização. Eu acho que a sobrecarga é provavelmente muito mais significativa do que as otimizações, na maioria dos casos.
Matthew Leia
2
@ DVD: Eu vejo como isso não estava claro na minha resposta anterior, então voltei e tentei esclarecer um pouco. Obrigado por apontar isso. Com relação a essa pergunta, tudo o que Mateus disse em sua resposta está absolutamente correto.
Eldarerathis