dex
file é um arquivo que é executado na VM do Dalvik.
O Dalvik VM inclui vários recursos para otimização, verificação e monitoramento de desempenho, um dos quais é o Dalvik Executable (DEX) .
O código-fonte Java é compilado pelo compilador Java em .class
arquivos. Em seguida, a dx
ferramenta (dexer), parte do SDK do Android, processa os .class
arquivos em um formato de arquivo chamado DEX
que contém o código de bytes Dalvik. A dx
ferramenta elimina todas as informações redundantes presentes nas classes. Em DEX
todas as classes do aplicativo são compactadas em um arquivo. A tabela a seguir fornece comparação entre tamanhos de código para arquivos jar da JVM e os arquivos processados pela dex
ferramenta.
A tabela compara tamanhos de código para bibliotecas do sistema, aplicativos de navegador da Web e um aplicativo de uso geral (aplicativo de despertador). Em todos os casos, a ferramenta dex reduziu o tamanho do código em mais de 50%.
Nos ambientes Java padrão, cada classe no código Java resulta em um .class
arquivo. Isso significa que, se o arquivo de código-fonte Java tiver uma classe pública e duas classes anônimas, digamos que para manipulação de eventos, o compilador java criará um total de três .class
arquivos.
A etapa de compilação é a mesma na plataforma Android, resultando em vários .class
arquivos. Porém, depois que os .class
arquivos são gerados, a ferramenta “dx” é usada para converter todos os .class
arquivos em um único .dex
arquivo, ou Dalvik Executable. É o .dex
arquivo que é executado na VM Dalvik. O .dex
arquivo foi otimizado para uso da memória e o design é impulsionado principalmente pelo compartilhamento de dados.