私は、square が Android コミュニティに行ったオープン ソースの貢献の大ファンであり、彼らの最新の貢献 Otto (イベント バス) を調べていました。
さらに掘り下げてみると、Otto はリフレクションを使用しており、順序付けされたブロードキャスト (消費されていないメッセージが、同じタイプのイベントをリッスンしているあるレシーバーから次のレシーバーに渡されるパターン) がないことがわかります。
AndroidLocalBroadcastManager
の v4 サポート ライブラリには (LBM) があり、これは同じ目的を果たしますが、よりかさばり、渡されるオブジェクトにより多くの制限があります。しかし、明るい面では、順序付けされたブロードキャストをサポートしており、通常のブロードキャストに似ています.
Otto と LBM はどちらも同じプロセス空間内にあるため、速度に関してはどちらも同じだと思います。私が見ることができる唯一の本当の違いは、Otto を使用するとカスタム イベントを定義でき、 Objects をシリアライズ/パーセルする必要がないことです。
したがって、私の本当の質問は、LBM が同じことを行う場合、いつ Otto を使用するかということです。
参考文献:
http://nick.perfectedz.com/otto-event-system/
インテントまたはイベント バスを使用して同じアプリ内で通信する
https://plus.google.com/107049228697365395345/posts/6j4ANWngCUY