dex El archivo es un archivo que se ejecuta en la máquina virtual Dalvik.
Dalvik VM incluye varias funciones para la optimización, verificación y supervisión del rendimiento, una de las cuales es Dalvik Executable (DEX) .
El compilador de Java compila el código fuente de Java en .classarchivos. Luego, la dxherramienta (dexer), parte del SDK de Android, procesa los .classarchivos en un formato de archivo llamado DEXque contiene el código de bytes Dalvik. La dxherramienta elimina toda la información redundante que está presente en las clases. En DEXtodas las clases de la aplicación se empaquetan en un solo archivo. La siguiente tabla proporciona una comparación entre los tamaños de código para los archivos jar JVM y los archivos procesados pordex herramienta.
La tabla compara los tamaños de código para las bibliotecas del sistema, las aplicaciones del navegador web y una aplicación de uso general (aplicación de despertador). En todos los casos, la herramienta dex redujo el tamaño del código en más del 50%.

En entornos Java estándar, cada clase en código Java da como resultado un .classarchivo. Eso significa que si el archivo de código fuente Java tiene una clase pública y dos clases anónimas, digamos para el manejo de eventos, entonces el compilador de Java creará un total de tres .classarchivos.
El paso de compilación es el mismo en la plataforma Android, lo que resulta en múltiples .classarchivos. Pero después de .classque se generan los archivos, la herramienta "dx" se usa para convertir todos los .classarchivos en un solo .dexarchivo, o Dalvik Executable. Es el .dexarchivo que se ejecuta en la máquina virtual Dalvik. El .dexarchivo se ha optimizado para el uso de memoria y el diseño se basa principalmente en el intercambio de datos.