2016-03-23 13 views
2

GreenRobot's EventBusバージョン3.0を使用しています。EventBusスティッキイベントは、サブスクライバメソッドで自動的に削除されますか?

@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? 
} 

だから、私の質問がされています:加入者がスティッキーイベントを受信すると、彼らは削除され、我々は粘着性のイベントを投稿することができ、そして私たちは、このようにサブスクライブする必要があり、これらのイベントを受信すると述べているセクションon the docsがあります自動的にバスから削除するか、手動で削除する必要がありますか?

注:私は、私は次の行使用して私のコードの他の場所に手動で削除することができます知っている:

EventBus.getDefault().removeStickyEvent(stickyEvent); 

をしかし、私は本当に行う必要があるかどうかを知りたい、その加入者メソッド内。

答えて

6

いいえ、削除されません。

しかし、誰かがそれを読んだときにメッセージを削除するだけのメッセージを貼り付けるなら、あなたが記述しているのはキューです。

スティッキーイベントは、掲示板のスティッキーポストに似ています。「トップ」に留まり、誰もが一定期間視聴できるようになっています。

+0

良いアナロジー。 :) – Mauker

3

明示的に削除されるまで、バス上に残ります。

関連する問題