Android EventBus、register和registerSticky方法
我使用greenrobot EventBus库在我的android应用程序的两个片段之间发送数据,我想知道Android EventBus、register和registerSticky方法,android,event-bus,greenrobot-eventbus,Android,Event Bus,Greenrobot Eventbus,我使用greenrobot EventBus库在我的android应用程序的两个片段之间发送数据,我想知道register(Object b)方法和registerSticky(Object Object Object)方法之间的区别是什么?EventBus允许您发布“粘性”事件通过这一点,EventBus可以理解“坚持到EventBus”以便将来访问的事件 如果在发送时没有注册订户时发布正常的事件,则此事件将被丢弃 您可以发布一个粘性事件,即使此时没有订阅者接收该事件,也不会丢弃它(除非将来有
register(Object b)
方法和registerSticky(Object Object Object)
方法之间的区别是什么?EventBus
允许您发布“粘性”事件通过这一点,EventBus
可以理解“坚持到EventBus”以便将来访问的事件
如果在发送时没有注册订户时发布正常的事件
,则此事件将被丢弃
您可以发布一个粘性事件
,即使此时没有订阅者
接收该事件,也不会丢弃它(除非将来有另一个粘性事件
)。当订阅者
向registerSticky
注册时,也会触发上次的sticky事件
的传递。我可以一直使用ResRegisterSticky
而不是register
吗?尽管registerSticky
的作用类似于常规寄存器(并触发最后一个粘性事件的传递
)我认为应该避免使用粘性事件
@blipinsk为什么要避免?请详细说明……我可以混合使用这两种寄存器吗?sticky/post和postSticky?@powder366当然,你可以混合使用这两种。只要你看到这样的情况,只要你不想注册相同的东西同时使用这两种方法(register
和registerSticky
)对同一个EventBus
实例进行访问。因为在这种情况下,混合使用这两种方法没有任何意义(只有registerSticky
会给出相同的结果)。此文本应替换此“垃圾”,以便像我这样的人理解:)