dex
file est un fichier exécuté sur la VM Dalvik.
Dalvik VM comprend plusieurs fonctionnalités d'optimisation, de vérification et de surveillance des performances, dont Dalvik Executable (DEX) .
Le code source Java est compilé par le compilateur Java dans des .class
fichiers. Ensuite, l' dx
outil (dexer), qui fait partie du SDK Android, traite les .class
fichiers dans un format de fichier appelé DEX
qui contient du code d'octet Dalvik. L' dx
outil élimine toutes les informations redondantes présentes dans les classes. Dans DEX
toutes les classes de l'application sont regroupées dans un seul fichier. Le tableau suivant fournit une comparaison entre les tailles de code pour les fichiers jar JVM et les fichiers traités par l' dex
outil.
Le tableau compare les tailles de code pour les bibliothèques système, les applications de navigateur Web et une application à usage général (application de réveil). Dans tous les cas, l'outil dex a réduit la taille du code de plus de 50%.
Dans les environnements Java standard, chaque classe du code Java se traduit par un .class
fichier. Cela signifie que si le fichier de code source Java a une classe publique et deux classes anonymes, disons pour la gestion des événements, alors le compilateur Java créera au total trois .class
fichiers.
L'étape de compilation est la même sur la plate-forme Android, entraînant ainsi plusieurs .class
fichiers. Mais une fois les .class
fichiers générés, l'outil «dx» est utilisé pour convertir tous les .class
fichiers en un seul .dex
fichier, ou exécutable Dalvik. C'est le .dex
fichier qui est exécuté sur la VM Dalvik. Le .dex
fichier a été optimisé pour l'utilisation de la mémoire et la conception repose principalement sur le partage de données.