我是开源贡献广场的一个巨大粉丝,已经为Android社区做了一些工作,并且正在研究他们最新的贡献Otto(事件总线) http://square.github.io/otto/ 深入挖掘,我发现Otto使用reflection,没有有序的广播(一个未消耗的消息从一个接收器传递到下一个接收器,在相同types的事件中聆听)Otto相信更多的消失模型。 现在,android在其v4支持库中提供了LocalBroadcastManager (LBM),它可以达到同样的目的,虽然它比较笨重,并且对传递的对象有更多的限制。 但在更明亮的一面,它确实支持有序的广播,更像是正常的广播。 奥托和LBM都在同一个进程空间内,所以在速度方面我想两者都是一样的。 我能看到的唯一真正的区别是,Otto允许你定义自定义事件,而且你不必序列化/包裹对象。 因此,我真正的问题是,如果LBM做同样的事情,你会在什么时候使用Otto。 参考文献 http://nick.perfectedz.com/otto-event-system/ 使用Intents或事件总线在相同的应用程序内进行通信 https://plus.google.com/107049228697365395345/posts/6j4ANWngCUY