dex
file - це файл, який виконується в DalM VM.
Dalvik VM включає декілька функцій для оптимізації, перевірки та моніторингу продуктивності, однією з яких є Dalvik Executable (DEX) .
Вихідний код Java збирається компілятором Java у .class
файли. Потім інструмент dx
(dexer), частина Android SDK обробляє .class
файли у формат файлу, який називається, DEX
який містить байт-код Dalvik. dx
Інструмент усуває всі надлишкову інформацію, яка присутня в класах. У DEX
всіх класах програми пакуються в один файл. У наступній таблиці наведено порівняння між розмірами коду для файлів jar JVM та файлами, обробленими dex
інструментом.
У таблиці порівнюються розміри коду для системних бібліотек, програм веб-браузера та програми загального призначення (додаток будильника). У всіх випадках інструмент dex зменшив розмір коду більш ніж на 50%.
У стандартних середовищах Java кожен клас коду Java приводить до одного .class
файлу. Це означає, що якщо у файлі вихідного коду Java є один публічний клас та два анонімні класи, скажімо, для обробки подій, тоді компілятор Java створить три.class
файли.
Крок компіляції однаковий на платформі Android, завдяки чому утворюється кілька .class
файлів. Але після створення .class
файлів інструмент "dx" використовується для перетворення всіх .class
файлів в єдиний .dex
, або Dalvik Executable, файл. Це .dex
файл, який виконується в DalM VM. .dex
Файл був оптимізований для використання пам'яті і дизайну в основному за рахунок спільного використання даних.