dex
tệp là một tệp được thực thi trên máy ảo Dalvik.
Dalvik VM bao gồm một số tính năng để tối ưu hóa hiệu suất, xác minh và giám sát, một trong số đó là Dalvik Executable (DEX) .
Mã nguồn Java được trình biên dịch Java biên dịch thành .class
các tệp. Sau đó, dx
công cụ (dexer), một phần của SDK Android xử lý các .class
tệp thành định dạng tệp có tên là DEX
mã byte Dalvik. Công dx
cụ loại bỏ tất cả các thông tin dư thừa có trong các lớp. Trong DEX
tất cả các lớp của ứng dụng được đóng gói thành một tệp. Bảng sau đây cung cấp so sánh giữa các kích thước mã cho các tệp jar JVM và các tệp được xử lý bởi dex
công cụ.
Bảng so sánh kích thước mã cho thư viện hệ thống, ứng dụng trình duyệt web và ứng dụng cho mục đích chung (ứng dụng đồng hồ báo thức). Trong mọi trường hợp, công cụ dex giảm kích thước mã hơn 50%.
Trong các môi trường Java tiêu chuẩn, mỗi lớp trong mã Java dẫn đến một .class
tệp. Điều đó có nghĩa là, nếu tệp mã nguồn Java có một lớp chung và hai lớp ẩn danh, giả sử để xử lý sự kiện, thì trình biên dịch java sẽ tạo tổng cộng ba .class
tệp.
Bước biên dịch giống nhau trên nền tảng Android, do đó dẫn đến nhiều .class
tệp. Nhưng sau khi .class
các tệp được tạo, công cụ của dx Cảnh được sử dụng để chuyển đổi tất cả .class
các tệp thành một tệp duy nhất .dex
, hoặc Dalvik Executable ,. Đây là .dex
tệp được thực thi trên máy ảo Dalvik. Các .dex
tập tin đã được tối ưu hóa cho việc sử dụng bộ nhớ và thiết kế chủ yếu được điều khiển bằng cách chia sẻ dữ liệu.