Dalvik VM (Máy ảo) là phiên bản Google của máy ảo Java (ứng dụng chạy trên đó). VM giữ các ứng dụng tách biệt và độc lập với phần cứng thực tế và các ứng dụng khác. Nhưng, để làm việc này, Dalvik cần chuyển đổi cái gọi là mã byte (được thiết kế cho máy ảo) thành mã máy gốc. Để giảm thiểu hình phạt hiệu suất mà mã byte thành chuyển đổi mã gốc giới thiệu, một quy trình gọi là biên dịch Just-In-Time (JIT) được thực hiện, chuyển đổi mã nóng, tức là thường được sử dụng, mã byte thành mã gốc. 1
ART (Android Runtime) là sự thay thế cho Dalvik sử dụng trình biên dịch Ahead-Of-Time (AOT), nghĩa là các ứng dụng của bạn được biên dịch sang trạng thái sẵn sàng trước khi bạn khởi chạy chúng. Điều này thường được thực hiện, tại thời điểm cài đặt ứng dụng, làm cho quá trình khởi chạy và sử dụng chúng nhanh hơn và mượt mà hơn. Và vì điều này có nghĩa là quá trình biên dịch chỉ được thực hiện một lần, bạn cũng có thể thấy thời lượng pin tốt hơn.
Nếu ART tốt hơn về hiệu suất và thời lượng pin, tôi có nên bắt đầu sử dụng nó không?
Không. Nếu bạn làm điều đó, bạn có thể phá vỡ các ứng dụng của bên thứ ba. Google đã chuyển bản xem trước ART này với Android 4.4 cho các nhà phát triển để kiểm tra ứng dụng của họ trên đó.
Lưu ý bên lề: Cách tiếp cận của Google với ART là đánh bại iOS (ứng dụng iOS có nguồn gốc nên hoạt động tốt hơn ngay cả trên thông số kỹ thuật phần cứng cấp thấp), nhưng tôi không biết nó đang hướng đến đâu ... Một phân mảnh khác? Xem các OEM được tự do xây dựng các thiết bị bằng cách sử dụng một hoặc cả hai . Mặc dù phiên bản cuối cùng không ảnh hưởng đến hầu hết các ứng dụng, nhưng đó không phải là thứ đa nền tảng 100%.
1 Lưu ý rằng JIT đã được thêm vào Dalvik trong Android 2.2