當前位置:名人名言大全網 - 短信平臺 - Android消息傳遞BroadCast、Handler和EventBus優缺點

Android消息傳遞BroadCast、Handler和EventBus優缺點

廣播是相對消耗時間、空間最多的壹種方式。它是四大組件之壹,許多系統級的事件都是通過廣播來通知的,比如:電量的變化、網絡的變化、短信的接收和發生狀態等。

優點: 與sdk連接緊密,當需要與Android交互時非常方便。而且可以實現跨進程通訊。必要時還能啟動Activity

缺點: 資源占用較多,且需要依賴Context

handler壹般用於線程間通訊。handler的定義類和內部類是綁定的,這就造成了事件發布者和接受者之間的高耦合。使用handler最明顯的優點是發生問題時,可以非常明確、快速的進行定位。

eventbus的優勢在於調度靈活,不需要依賴Context也沒有Handler那樣的耦合。可繼承、優先級、粘滯是EventBus比之於BroadCast和觀察者最大的優點。缺點也很明顯,EventBus中的事件分發是通過註解函數的參數類型決定的,這就導致了當接受者過多或相同參數時很難理清消息流。