Giới thiệu Dalvik Virtual Machine trong Android (DVM)
Trong bài này freetuts sẽ giới thiệu đến các bạn máy ảo DVM trong Android, đây là một máy ảo được sử dụng trong hệ điều hành Android để thực thi các ứng dụng.
Để tối ưu hóa việc phát triển ứng dụng cho Android, Google đã giới thiệu một công nghệ rất quan trọng là máy ảo DVM (Dalvik Virtual Machine). Máy ảo DVM là một thành phần quan trọng trong kiến trúc Android, cho phép các ứng dụng Android được chạy trên các thiết bị khác nhau và đảm bảo tính tương thích giữa các phiên bản Android khác nhau. Vậy hãy cùng freetuts tìm hiểu bản chất của máy ảo DVM nhé
DVM trong Android
DVM (Dalvik Virtual Machine) là một máy ảo (virtual machine) được sử dụng trong hệ điều hành Android để thực thi các ứng dụng. Được phát triển bởi Dan Bornstein của Google vào năm 2007, DVM đã thay thế máy ảo JVM (Java Virtual Machine) được sử dụng trong các thiết bị điện thoại di động trước đây.
Bài viết này được đăng tại [free tuts .net]
DVM được thiết kế để hoạt động trên các thiết bị có tài nguyên hạn chế, đặc biệt là bộ nhớ. Các ứng dụng được viết bằng Java sẽ được biên dịch thành mã bytecode, sau đó DVM sẽ thực thi mã bytecode này. DVM không sử dụng mã máy trực tiếp như các máy ảo khác mà thay vào đó sử dụng mã bytecode được tối ưu hóa để tăng hiệu suất thực thi.
Ở DMV có trình biên dịch Dex nhằm chuyển đổi nhiều file class thành một file .dex chạy trên máy ảo Dalvik.
Hãy xem quá trình biên dịch và đóng gói từ source file:
- tool javac biên dịch file source java thành file class.
- tool dx lấy tất cả các file class của ứng dụng của bạn và tạo một file .dex duy nhất. Nó là một tool dành riêng cho nền tảng.
- tool Android Assets Packaging Tool (aapt) xử lý quy trình đóng gói.
Đặc điểm của DVM trong Android
Máy ảo DVM có một số ưu và nhược điểm nhất định:
Ưu điểm:
- Trong DVM tệp thực thi là APK.
- Execution nhanh hơn.
- Từ SDK Android 2.2, DMV có trình biên dịch JIT (Just In Time) riêng.
- DVM đã được thiết kế sao cho một thiết bị có thể chạy nhiều phiên bản của Máy ảo một cách hiệu quả.
- Các ứng dụng được cung cấp các phiên bản riêng của chúng.
Nhược điểm:
- DVM chỉ hỗ trợ Hệ điều hành Android.
- Đối với DVM, có rất ít Re-Tools.
- Yêu cầu nhiều hướng dẫn hơn các máy đăng ký để thực hiện cùng một high-level code.
- Cài đặt ứng dụng mất nhiều thời gian hơn do file dex.
- Cần thêm bộ nhớ trong.
Tóm lại, DVM là một máy ảo quan trọng trong hệ điều hành Android và có nhiều ưu điểm trong việc quản lý bộ nhớ và tối ưu hóa hiệu suất thực thi. Tuy nhiên, nó vẫn có nhược điểm như tốc độ thực thi chậm hơn so với máy ảo JVM truyền thống. DVM vẫn được sử dụng trong các phiên bản Android trước đó và vẫn là một phần quan trọng của nền tảng Android. Hiểu rõ về cách hoạt động và tính năng của DVM sẽ giúp cho các lập trình viên và nhà phát triển có thể tối ưu hóa ứng dụng của mình để chạy tốt trên các thiết bị Android và cải thiện trải nghiệm của người dùng.