Samsung Galaxy S2 Lite — DESVENDANDO O QUE É ODEX, DEODEX E ZIPALIGN

  • Respostas:1
  • AbertoStickySem resposta
Conta desativada
  • Posts no fórum: 12.402

9/jun/2013 4:16:15 via Web

Esse guia é para esclarecer um pouco mais sobre o mundo android.

O que é um arquivo ODEX?

No sistema de arquivos do Android, os aplicativos vêm em pacotes com a extensão. Apk. Estes pacotes de aplicativos, ou APKs contem Arquivos odex cuja função é supostamente para economizar espaço. Esses arquivos 'odex "são, na verdade, conjuntos de partes de um aplicativo que são otimizados antes de arrancar. Se o fizer, acelera o processo de boot, como pré-leituras de parte de um aplicativo. Por outro lado, também torna difícel o a modificação desses aplicativos, porque uma parte da codificação já foi extraído de outra localização, antes da execução.

O que é um arquivo DEODEX?

Deodexing é, basicamente, a reembalagem desses APKs de uma certa maneira, de modo que eles são reagrupados em arquivos classes.dex. Ao fazer isso, todas as peças de um pacote de aplicativos são colocados juntos em um só lugar, eliminando, assim, a incompatibilidade de um APK modificada, evitando que entre em conflito com algumas partes odexed separados.

Então, ROMs Deodexed (ou APKs) têm todos os seus pacotes de aplicativos colocados juntos em um só lugar, permitindo a fácil modificação, como tematizar. Uma vez que existem pedaços de código são provenientes de qualquer local externo, ROMs personalizadas ou APKs são sempre Deodexed para garantir a integridade.


Como isso funciona?

O.S. Android usa uma máquina virtual baseada em Java chamada Dalvik Virtual Machine. Um arquivo dex ou Deodexed Contém o cache usado por esta máquina virtual (conhecido como Dalvik-cache) para um programa, e é armazenado dentro do APK. Um arquivo odex., Por outro lado, é uma versão optimizada deste ficheiro dex mesmas. Que é armazenada para o próximo APK em oposição ao seu interior. Android aplica esta técnica por padrão para todos os aplicativos do sistema.

Quando um sistema baseado em Android está inicializando, o cache davlik para o Davlik VM é construído usando estes arquivos .Odex , permitindo que o sistema operacional para saber com antecedência o que as aplicações serão carregados e, assim, acelera o processo de inicialização.

Por deodexing estes APKs, um desenvolvedor realmente coloca os arquivos odex de volta dentro de seus respectivos pacotes APK. Uma vez que todo o código está contido dentro da própria APK, torna-se possível modificar qualquer pacote de aplicações sem entrar em conflito com o ambiente de execução do sistema operativo.

Vantagens e Desvantagens

A vantagem está no deodexing possibilidades de modificação. Este é o mais amplamente utilizado em ROMs personalizadas e temas. Um desenvolvedor de construção de uma ROM personalizada quase sempre optam por deodex o pacote ROM em primeiro lugar, uma vez que não só lhe permitiria modificar vários APKs, mas também deixar espaço para pós-instalação tematização.

Por outro lado, uma vez que os arquivos odex. Deveriam construir rapidamente o cache Dalvik, removê-los significaria tempos de inicialização mais iniciais. No entanto, isso só é verdade para o primeiro boot sempre deodexing, já que o cache que ainda são construídas ao longo do tempo como as aplicações são utilizadas. Vezes mais tempo de inicialização só pode ser visto novamente se o cache Dalvik é varrida por algum motivo.

Nota: Os temas para android vêm em APKs também, e se você deseja modificar qualquer um desses, você deve sempre escolher uma ROM personalizada dedoexed.


O que é Zipalign?

Zipalign é uma ferramenta de alinhamento de arquivo introduzido pela primeira vez com Android 1.6 SDK (Software Development Kit). Ele otimiza a forma como um pacote de aplicativos Android (APK) é embalado. Isso permite que o sistema operacional Android interagir com a aplicação de forma mais eficiente, e, portanto, tem o potencial para fazer a aplicação geral e todo o sistema muito mais rápido. O tempo de execução é minimizado para aplicações zipaligned, resultante em menor quantidade de consumo de RAM ao executar o APK.



Como isso funciona exatamente?

Em um ambiente operacional Android, arquivos de dados armazenados em cada pacote de aplicativos são acessados ​​por vários processos, por exemplo, o instalador irá ler o manifesto de dados para determinar as permissões associadas, o servidor do sistema pode ler esses recursos por várias razões, como a exibição de notificações; o pedido inicial, por exemplo, vai ler os recursos para obter o nome e o ícone do aplicativo. Android é baseado em verdadeira infra-estrutura operacional multi-tasking , esses arquivos são continuamente acessadas repetidamente. Finalmente, mas não menos importante, o próprio aplicativo lê os dados do manifesto.

Como Android é baseado em Linux, mapeamento de memória desempenha um papel-chave na manipulação eficiente dos processos. Essencialmente, o alinhamento ideal para o código de manipulação de recursos do Android OS "é limites de 4 bytes". O que isto significa é que, se APKs são mapeados em memória para as fronteiras de 4 bytes, e alinhados por conseguinte, o sistema operacional não precisa 'ler' o pacote aplicativo inteiro para chegar o manifesto de dados desejado. Cada processo do sistema vai saber com antecedência para onde olhar, para ele é desejado recursos e, portanto, irá executar muito mais suave e mais rápido.

Disavantages de APKs não alinhados

Compreensivelmente, a situação seria reservado para pacotes de aplicativos não alinhados. Leitura de Recursos seria lenta e o uso de memória seria na extremidade superior do espectro. Seria também depende de quantas aplicações não alinhados estão presentes. Por exemplo, se um número menor de aplicações com um pedido de casa desalinhada, você veria mais lento tempos de inicialização de aplicativos. Este é o melhor cenário. Para um cenário de pior caso, ter um número de aplicações não alinhados resultará no sistema de partida várias vezes e matar processos, lutando com atrasos e grande consumo de bateria.

CRÉDITOS:R_a_z_v_a_n
FONTE:forum.xda-developers.com

Quando você for seguir um tutorial,primeiro leia atentamente o passo a passo,em seguida leia os relatos das duvidas e dificuldades que outros tiveram ao fazer o tutorial, assim você terá toda a confiança para prosseguir com o tutorial sem problemas.
Se alguém lhe ajudou, não esqueça de agradecer, clicando no icone de positivo,isso incentiva quem está aqui disposto a ajudar .