我正在使用greenroot事件总线,使用 @Subscribe 批注以异步方式在应用程序的2个组件之间传递事件有效负载。 问题是如果在事件总线上注册了具有 @Subscribe 批注的类的多个实例, 它们都接收相同的事件有效负载,并且计算多次进行(我创建了许多实例。)
事件总线是否可以将事件有效负载仅提供给我的类的单个实例,即
如果我的订阅方法如下:
public class A {
A() {
eventBus.register(this);
}
@Subscribe
public void consumeEvent(String s) {
// do something
}
}
如果我创建5个类A的实例,并将5个字符串传递给事件总线,则所有订阅的实例应各获得1个实例。
有没有办法避免由于多个对象而造成的冗余计算?。