Android Runtime

Bách khoa toàn thư mở Wikipedia
Buớc tưới chuyển hướng Bước tới tìm kiếm
Android Runtime
Phát triển bởiGoogle
Repositoryandroid.googlesource.com/platform/art/
Viết bằngC, C++
Hệ điều hànhAndroid
Websitesource.android.com/devices/tech/dalvik/art.html
Một so sánh về kiến trúc Dalvik và ART

Android Runtime (ART) là môi trường thời gian chạy ứng dụng được sử dụng bởi hệ điều hành Android. Thay thế Dalvik, máy ảo quy trình ban đầu được hệ điều hành Android sử dụng, ART thực hiện dịch mã byte của ứng dụng thành các hướng dẫn gốc được thực hiện sau đó bởi môi trường thời gian chạy của thiết bị.[1]

Android 2.2 "Froyo" đã đưa quá trình biên dịch theo thời gian (JIT) dựa trên dấu vết đưa vào Dalvik, tối ưu hóa việc thực thi các ứng dụng bằng cách liên tục cấu hình các ứng dụng mỗi khi chúng chạy và tự động biên dịch các đoạn ngắn của mã byte của chúng thành mã máy gốc. Trong khi Dalvik diễn giải phần còn lại của mã byte của ứng dụng, thì việc thực thi riêng các đoạn mã byte ngắn đó, được gọi là "dấu vết", cung cấp các cải tiến hiệu suất đáng kể.[2][3]

Không giống như Dalvik, ART giới thiệu việc sử dụng biên dịch trước (AOT) bằng cách biên dịch toàn bộ ứng dụng thành mã máy gốc khi cài đặt. Bằng cách loại bỏ giải thích và biên dịch JIT dựa trên dấu vết của Dalvik, ART cải thiện hiệu quả thực thi chung và giảm mức tiêu thụ điện năng, giúp cải thiện tính tự chủ của pin trên thiết bị di động. Đồng thời, ART mang đến khả năng thực thi ứng dụng nhanh hơn, cơ chế phân bổ bộ nhớthu gom rác (GC) được cải thiện, các tính năng gỡ lỗi ứng dụng mới và cấu hình ứng dụng cấp cao có độ chính xác hơn.[1][4][5]

Để duy trì khả năng tương thích ngược, ART sử dụng cùng mã byte đầu vào như Dalvik, được cung cấp thông qua các tệp .dex tiêu chuẩn như một phần của tệp APK, trong khi các tệp .odex được thay thế bằng các tệp thực thi Định dạng có thể thực thi và có thể liên kết (ELF). Khi một ứng dụng được biên dịch bằng cách sử dụng trên thiết bị tiện ích của ART dex2oat, nó chỉ được chạy từ tệp thực thi ELF đã biên dịch; do đó, ART loại bỏ các chi phí thực thi ứng dụng khác nhau liên quan đến việc giải thích và biên dịch JIT dựa trên dấu vết của Dalvik. Mặt khác, ART yêu cầu thêm thời gian để biên dịch khi cài đặt ứng dụng và các ứng dụng chiếm dung lượng lưu trữ thứ cấp lớn hơn một chút (thường là bộ nhớ flash) để lưu mã được biên dịch.[1][4][5]

Android 4.4 "KitKat" đã mang đến bản xem trước công nghệ của ART, bao gồm nó như một môi trường thời gian chạy thay thế và giữ Dalvik làm máy ảo mặc định.[6][7] Trong phiên bản Android lớn tiếp theo, Android 5.0 "Lollipop", Dalvik đã được thay thế hoàn toàn bằng ART.

Android 7.0 "Nougat" đã giới thiệu trình biên dịch JIT với cấu hình mã cho ART, cho phép nó liên tục cải thiện hiệu suất của các ứng dụng Android khi chúng chạy. Trình biên dịch JIT bổ sung cho trình biên dịch Ahead of Time hiện tại của ART và giúp cải thiện hiệu năng thời gian chạy.[8]

Xem thêm[sửa | sửa mã nguồn]

  • Phát triển phần mềm Android  – Các khái niệm và tiện ích phát triển phần mềm khác nhau được sử dụng để tạo các ứng dụng Android
  • Lịch sử phiên bản Android  – lịch sử và mô tả về các bản phát hành Android, được liệt kê chủ yếu theo các cấp API chính thức của chúng
  • So sánh phần mềm ảo hóa ứng dụng  – máy ảo và ngôn ngữ kịch bản khác nhau
  • Máy ảo  – mô phỏng một hệ thống máy tính cụ thể, với các mức độ khác nhau của chức năng được triển khai

Tham khảo[sửa | sửa mã nguồn]

  1. ^ a ă â Andrei Frumusanu (tháng 7 ngày 1, 2014). “A Closer Look at Android RunTime (ART) in Android L”. AnandTech. Truy cập tháng 7 ngày 5, 2014.  Kiểm tra giá trị ngày tháng trong: |date=, |accessdate= (trợ giúp)
  2. ^ Ben Cheng; Bill Buzbee (tháng 5 năm 2010). “A JIT Compiler for Android's Dalvik VM” (PDF). android-app-developer.co.uk. Google. tr. 5–14. Bản gốc (PDF) lưu trữ ngày 6 tháng 11 năm 2015. Truy cập tháng 3 ngày 18, 2015.  Kiểm tra giá trị ngày tháng trong: |accessdate= (trợ giúp)
  3. ^ Phil Nickinson (tháng 5 ngày 26, 2010). “Google Android developer explains more about Dalvik and the JIT in Froyo”. androidcentral.com. Truy cập tháng 7 ngày 8, 2014.  Kiểm tra giá trị ngày tháng trong: |date=, |accessdate= (trợ giúp)
  4. ^ a ă “Android Developers: ART and Dalvik”. source.android.com. Tháng 3 ngày 9, 2015. Truy cập tháng 3 ngày 18, 2015.  Kiểm tra giá trị ngày tháng trong: |date=, |accessdate= (trợ giúp)
  5. ^ a ă “Android Developers: Configuring ART – How ART works”. source.android.com. Tháng 3 ngày 9, 2015. Truy cập tháng 3 ngày 18, 2015.  Kiểm tra giá trị ngày tháng trong: |date=, |accessdate= (trợ giúp)
  6. ^ Sean Buckley (tháng 11 ngày 6, 2013). 'ART' experiment in Android KitKat improves battery life and speeds up apps”. Engadget. Truy cập tháng 7 ngày 5, 2014.  Kiểm tra giá trị ngày tháng trong: |date=, |accessdate= (trợ giúp)
  7. ^ Daniel P. (tháng 11 ngày 7, 2013). “Experimental Google ART runtime in Android KitKat can bring twice faster app executions”. phonearena.com. Truy cập tháng 7 ngày 5, 2014.  Kiểm tra giá trị ngày tháng trong: |date=, |accessdate= (trợ giúp)
  8. ^ “Implementing ART Just-In-Time (JIT) Compiler”. source.android.com. Tháng 1 ngày 22, 2017. Truy cập tháng 1 ngày 22, 2017.  Kiểm tra giá trị ngày tháng trong: |date=, |accessdate= (trợ giúp)

Liên kết ngoài[sửa | sửa mã nguồn]