事件总线与本地广播经理:哪一个最好

时间:2016-05-16 08:36:30

标签: android event-bus

我的应用程序在很大程度上依赖于本地广播,因为每次活动调用都会调用广播注册方法,所以移动到任何事件总线都很好。

使用本地广播管理器的两个主要问题。

  1. 每项活动都需要注册
  2. 注册方法执行时间(注册约10个操作)
  3. 我认为事件总线将改善我的应用程序的整体执行和性能。

3 个答案:

答案 0 :(得分:6)

大多数事件总线库提供基于反射的注册,其效率低于LocalBroadcastManager。使用事件总线的主要原因是编码方便。

答案 1 :(得分:5)

afaik,使用事件总线代替LocalBroadcastManager有一些好处:

  1. 代码解耦。
    通过解耦代码,您将最小化以前使用LocalBroadcastManager的类。更简单的代码更少错误并提高代码可读性。
  2. 易于维护。
    这与1号有些相关,解耦代码使其易于维护。
  3. 本地化错误。
  4. 避免复杂且容易出错的依赖关系和生命周期问题。
  5. 避免进一步的错误。

答案 2 :(得分:2)

EventBus FAQ

  

EventBus与Android的BroadcastReceiver / Intent系统有何不同?

     

与Android的BroadcastReceiver / Intent系统不同,EventBus使用   标准Java类作为事件,并提供更方便的API。   EventBus适用于您不想要的更多用例   经历设置意图的麻烦,准备意图   附加功能,实现广播接收器,以及提取Intent附加功能   再次。此外,EventBus的开销要低得多。