5

我开始在我的应用程序中使用 EventBus,它真的很好用,它解决了很多问题并简化了代码,并且在整个应用程序中使用所有线程进行传播,一切都很棒,但我觉得我可能在滥用事件的使用。

现在一切都很好,我正在功能强大的设备上进行测试,应用程序的响应非常好,但是我还有很多编码工作要做,我开始质疑自己将如何影响触发过多的事件应用程序。

因此,如果我的应用程序中有很多事件存在一些问题,是否存在与使用此事件相关的一些已知内存问题,那么问题是针对任何对该库有经验的人。我正在尝试明智地使用它,但很难不将它大量包含在您的架构中,因为它是一个非常好的功能。无论如何,如果您对该主题有话要说会很好,因为我有很多编码要做,并且如果我的架构错误并且必须回去进行更改,因为一些与事件相关的问题将是一个问题。

PD。我说的是原生安卓应用,有很多网络

谢谢

4

2 回答 2

4

只要您遵循组件生命周期更改,在您的应用程序中拥有许多事件就不是问题:onStart()onStop(). 如果您这样做,那么只有相对较小的活动组件子集将订阅事件,这使得整个解决方案变得精益。

在我的应用程序中,中央单例事件总线实例存在一些问题,这就是为什么我使用能够附加到活动并尊重其生命周期的轻量级快速事件总线。有了它,我可以为每个活动创建一个总线实例,这是非常轻量级的。

于 2014-11-15T15:00:06.607 回答
2

我明白你在说什么,我还在我们公司开发一个相当庞大的代码库,我们经常使用事件总线。你只需要小心它,但找出应用程序中的哪些地方订阅了某个事件可能会很烦人。如果有多个订阅,那么必须通过应用程序钓鱼并不是很有趣。作为对此的解决方案,我喜欢为 Otto Event Bus 使用这个令人惊叹的 Android Studio 插件,它将无缝地将您从订阅者和事件带到它的订阅者,反之亦然。

https://github.com/square/otto-intellij-plugin

这将真正有助于使事件和订阅者之间的导航更容易。

于 2014-11-10T02:48:50.513 回答