Khi nào bạn nên sử dụng AIDL?

{{FormatNumbertoThousand(model.total_like)}} lượt thích
38 lượt xem
Android master

AIDL không làm gì ngoài việc cho phép hệ thống tạo ra mã boilerplate để ẩn chi tiết IPC của bộ liên kết, để bạn có thể gọi remote service API như một cuộc gọi phương thức cục bộ. Sử dụng AIDL là cần thiết chỉ khi bạn cho phép các ứng dụng khác truy cập service của bạn cho IPCmuốn xử lý đa luồng trong service của bạn. Vì vậy:

  1. Nếu bạn không cần IPC (tức là, clientserver của bạn ở trong cùng một process), bạn không cần AIDL;
  2. Nếu bạn muốn tự viết mã boilerplate cho IPC, bạn không cần AIDL;
  3. Nếu service của bạn không phức tạp đến mức không cần truy cập đa luồng song song, bạn có thể sử dụng Messenger API được cung cấp bởi hệ thống để IPC. Bạn không cần AIDL riêng của bạn, vì Messenger API ẩn đi việc sử dụng AIDL;
  4. Để mở rộng trường hợp 3, nếu bạn có thể sử dụng bất kỳ thư viện hiện có hoặc API hiện có nào để truy cập service trong một quá trình khác, bạn không cần AIDL riêng của bạn. Ví dụ, bạn có thể truy cập ActivityManagerService bằng API hệ thống hiện có, và tất cả thông tin AIDL cho IActivityManager được ẩn bởi API hệ thống.
{{login.error}}