Tại sao JVM (máy ảo Java) được thay thế bằng DVM (máy ảo Dalvik) khi bắt đầu dự án Android?
Trả lời:
Đáp án đúng: D
JVM (Java Virtual Machine) được thiết kế cho môi trường máy tính để bàn và máy chủ, nơi tài nguyên (CPU, bộ nhớ) dồi dào hơn. Trong khi đó, Android được thiết kế cho các thiết bị di động có tài nguyên hạn chế. DVM (Dalvik Virtual Machine) được tối ưu hóa để chạy trên các thiết bị di động với các đặc điểm sau:
* **Hiệu suất:** DVM được thiết kế để sử dụng ít bộ nhớ và CPU hơn JVM, giúp ứng dụng Android chạy mượt mà hơn trên các thiết bị có cấu hình thấp.
* **Tối ưu hóa cho di động:** DVM sử dụng một định dạng bytecode khác với JVM (.dex thay vì .class), giúp giảm kích thước ứng dụng và tăng tốc độ tải.
* **Quản lý bộ nhớ:** DVM có cơ chế quản lý bộ nhớ riêng, phù hợp với các thiết bị di động có bộ nhớ hạn chế. Dalvik sử dụng bộ nhớ hiệu quả hơn để có thể chạy trên phần cứng hạn chế. JVM tiêu tốn quá nhiều tài nguyên cho các thiết bị di động đời đầu.
Vì vậy, JVM không phù hợp với môi trường di động do tiêu tốn nhiều tài nguyên và hiệu năng không tối ưu. DVM được tạo ra để giải quyết những vấn đề này.
Các lý do A, B, C đều là các khía cạnh góp phần vào quyết định thay thế, nhưng lý do chính và bao quát nhất là để tối ưu hiệu suất và tài nguyên cho thiết bị di động.