订阅方法上是否自动删除了EventBus粘性事件?

Mau*_*ker 2 java android event-bus greenrobot-eventbus

我正在使用GreenRobot的EventBus 3.0版.还有一个关于文档的部分说我们可以发布粘性事件,并接收我们必须订阅的事件,如下所示:

@Subscribe(sticky = true, threadMode = ThreadMode.MAIN)
public void onEvent(MessageEvent event) {
    // Do something with the message.
    // Is the event removed from the bus on this method?
}
Run Code Online (Sandbox Code Playgroud)

所以,我的问题是:一旦订阅者收到粘性事件,它们是否会自动从总线中删除,还是我必须手动删除它们?

注意:我知道我可以使用以下行在我的代码的任何其他位置手动删除它们:

EventBus.getDefault().removeStickyEvent(stickyEvent);
Run Code Online (Sandbox Code Playgroud)

但我想知道我是否真的需要在订阅者方法中这样做.

Ale*_*dre 8

不,他们没有被删除.

但是,如果您在某人阅读时只是删除了一条消息,那么您所描述的就是一个队列.

粘性事件就像是公告板上的粘性帖子:它们意味着保持"顶部"并被所有人观看一段时间.