Tôi là một fan cuồng nhiệt của mở đóng góp nguồn vuông đã làm cho cộng đồng Android và đã nhìn vào những đóng góp mới nhất của họ Otto (xe buýt sự kiện)Otto vs LocalBroadcast:
Đào sâu hơn tôi thấy rằng Otto sử dụng sự phản chiếu và không có phát sóng theo thứ tự (một mẫu mà một thông điệp không được gửi đi từ một người nhận đến người nhận tiếp theo nghe trên cùng một loại sự kiện) Otto tin vào nhiều lửa và quên mô hình.
Bây giờ Android có LocalBroadcastManager
(LBM) trong thư viện hỗ trợ v4 của nó, phục vụ cùng một mục đích, mặc dù nó to hơn và có nhiều hạn chế hơn đối với các đối tượng được chuyển. Nhưng ở phía sáng hơn, nó hỗ trợ phát sóng theo thứ tự và nó giống như phát sóng bình thường.
Cả Otto và LBM đều nằm trong cùng một không gian quy trình nên về mặt tốc độ, tôi đoán cả hai sẽ giống nhau. Sự khác biệt thực sự duy nhất tôi có thể thấy là Otto cho phép bạn xác định các sự kiện tùy chỉnh và bạn không phải tuần tự hóa/Ghép các đối tượng.
Do đó câu hỏi thực sự của tôi là khi nào bạn sẽ sử dụng Otto nếu LBM thực hiện những điều tương tự.
Tài liệu tham khảo:
http://nick.perfectedz.com/otto-event-system/
Using Intents or an event bus to communicate within the same app
https://plus.google.com/107049228697365395345/posts/6j4ANWngCUY
Yep Tôi đứng sửa chữa, không có sendOrderedBroadcast() trên LBM, nó cách tôi đăng ký người nhận. Cũng sẽ xem EventBus của greenrobot. Cảm ơn cho các tip – Chris
GreenRobot có vẻ thực sự thú vị đặc biệt là phần dính. Bạn có đề nghị nó được sử dụng để giải quyết vấn đề định hướng thay đổi? Ví dụ để đảm bảo hoạt động sẽ luôn nhận được kết quả từ một dịch vụ sau khi giải trí xong? một ví dụ đơn giản là thêm một cuộc gọi dịch vụ vào hàng đợi bằng cách sử dụng bóng để lấy một số dữ liệu, sau đó tôi xoay thiết bị ... sau đó kết quả từ cú volley được trả về và đăng bằng greenrobot dưới dạng phát quảng cáo cố định, trong khi hoạt động của tôi chưa được tạo (đang khởi động lại) hoạt động khởi động lại và sau đó có thể truy xuất dữ liệu cần thiết. u nghĩ rằng điều này có vẻ hợp pháp? –
@NaderAyyad: Nếu hoạt động sẽ nhận được dữ liệu này từ dịch vụ qua tin nhắn EventBus, thì sự kiện dính có thể hữu ích cho các thay đổi cấu hình. – CommonsWare