Eventbus: 允许在没有任何订阅的情况下注册课程

创建于 2016-03-27  ·  3评论  ·  资料来源: greenrobot/EventBus

用于在某些定义的子类可能没有任何订阅的基类中自动注册。 这可能是总线上的配置值或registerOptional方法。

最有用的评论

因为老实说,我只是对跟踪哪个班级在公共汽车上注册而哪个没有注册不感兴趣。 我想随时添加对任何活动/片段的订阅并让它_正常工作_。 无论这增加了什么微小的性能开销,都值得开发人员感到欣慰。

如果其他人正在寻找这个,我目前的解决方法是在基类中的虚拟类上添加订阅。

所有3条评论

:+1:

为什么不将注册调用移动到一个可覆盖的方法,该方法在不应注册到 EventBus 的子类中覆盖为空? 将更清楚哪些类注册,哪些不注册,并避免搜索订阅者方法的性能开销。

就像是:

public abstract class BaseClass {
    protected void registerEventBus() {
        EventBus.getDefault().register(this);
    }
}
public class ChildClass extends BaseClass {
    <strong i="7">@Override</strong>
    protected void registerEventBus() {
        // do not register to EventBus
    };
}

-ut

因为老实说,我只是对跟踪哪个班级在公共汽车上注册而哪个没有注册不感兴趣。 我想随时添加对任何活动/片段的订阅并让它_正常工作_。 无论这增加了什么微小的性能开销,都值得开发人员感到欣慰。

如果其他人正在寻找这个,我目前的解决方法是在基类中的虚拟类上添加订阅。

此页面是否有帮助?
0 / 5 - 0 等级