Sự khác biệt giữa Local, Normal, Ordered và Sticky broadcasts là gì?

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

Normal Broadcast

  • Sử dụng sendBroadcast()
  • Broadcast (phát sóng) bất đồng bộ
  • Bất kỳ receiver (máy thu) nào cũng có thể nhận broadcast, không theo bất kỳ thứ tự cụ thể nào

Ordered Broadcast

  • Sử dụng sendOrderedBroadcast()
  • Broadcast đồng bộ
  • Receiver nhận broadcast theo thứ tự ưu tiên
  • Chúng ta cũng có thể dễ dàng ngừng broadcast trong loại này

Local Broadcast

  • Sử dụng chỉ khi broadcast được sử dụng chỉ bên trong cùng một quá trình (process)

Sticky Broadcast

  • Normal broadcast không còn tồn tại sau khi đã được gửi và xử lý bởi hệ thống.
  • Sử dụng sendStickyBroadcast(Intent)
  • Intent tương ứng là "sticky" có nghĩa rằng Intent mà bạn gửi vẫn tồn tại sau khi broadcast hoàn tất.
  • Do đó, người khác có thể nhanh chóng truy xuất dữ liệu đó thông qua giá trị trả về của hàm registerReceiver(BroadcastReceiver, IntentFilter)
  • Ngoài điểm này, nó giống với sendBroadcast(Intent)
Câu hỏi tiếp theo: Khi nào bạn nên sử dụng AIDL?
{{login.error}}