JavaScript is required

Nếu dịch vụ của bạn là riêng tư đối với ứng dụng của riêng bạn và chạy trong cùng quy trình với ứng dụng khách (điều này là phổ biến), bạn nên tạo giao diện của mình bằng cách mở rộng lớp ?

A.

A.Messenger

B.

B.Binder ( chất kết dính )

C.

C.AIDL

D.

D.None of the above

Trả lời:

Đáp án đúng: B


Trong Android, nếu một dịch vụ là riêng tư và chạy trong cùng một quy trình với ứng dụng khách, thì cách hiệu quả nhất để tạo giao diện là sử dụng Binder.

  • Binder: Là một cơ chế liên lạc liên tiến trình (IPC) nhẹ, hiệu quả, được thiết kế đặc biệt cho các giao tiếp trong cùng một ứng dụng hoặc giữa các ứng dụng khác nhau trên cùng một thiết bị. Nó tránh được chi phí tuần tự hóa và giải tuần tự hóa dữ liệu cần thiết cho các cơ chế IPC khác như Messenger hoặc AIDL khi cả dịch vụ và ứng dụng khách chạy trong cùng một quy trình.
  • Messenger: Sử dụng Handler và Message, thích hợp cho giao tiếp giữa các tiến trình khác nhau, nhưng kém hiệu quả hơn Binder cho giao tiếp trong cùng một tiến trình.
  • AIDL: (Android Interface Definition Language) được sử dụng để định nghĩa giao diện cho phép một ứng dụng giao tiếp với một dịch vụ, ngay cả khi chúng chạy trong các tiến trình khác nhau. AIDL phức tạp hơn Binder và Messenger và chủ yếu được sử dụng khi cần hỗ trợ nhiều ứng dụng truy cập dịch vụ.

Vì vậy, trong trường hợp này, Binder là lựa chọn phù hợp nhất vì nó tối ưu hóa hiệu suất cho giao tiếp nội bộ trong cùng một quy trình.

Câu hỏi liên quan