私はEventBus 3.0.0を使用し始めています。は保証Greenrobot EventBus粘着性のイベントのためですか?
私は活動へのサービスから送信される3つのスティッキーイベントを抱えている:
- 行動開始
- アクション進捗
- 私はイベントに聞いている
を終えアクションメインスレッド:
@Subscribe(sticky = true, threadMode = ThreadMode.MAIN)
public void on...Event(... event) {
...
}
サービスは順番にイベントを送信:started-progressN-..-progressM-finished
と、サブスクライブ活動は、イベントに応じてUIを更新します。
活動を回転させた後、私はそれ以外の場合は(上が0にセットに進展を始めてから)UIを破るよう、それらが送信された順に粘着性のイベントを取得することを期待しています。イベントはEventBusが保証する順序です(私はすべてのこれらのイベントの同じEventBus、同じ受信スレッド、同じ加入者を使用していると仮定した場合)?
私のテストによるとは保証されていませんが、それは特長ですか?回転前
:回転(スティッキーイベントは再送)後
07-27 11:27:55.254 27910-27910/ app D/App﹕ status Compilation started ...
07-27 11:27:55.254 27910-27910/ app D/App﹕ compile progress 0%
07-27 11:27:55.354 27910-27910/ app D/App﹕ compile progress 20%
07-27 11:27:55.354 27910-27910/ app D/App﹕ compile progress 30%
07-27 11:27:55.354 27910-27910/ app D/App﹕ compile progress 40%
07-27 11:27:55.844 27910-27910/ app D/App﹕ compile progress 50%
:
07-27 11:27:59.554 27910-27910/ app D/App﹕ compile progress 50%
07-27 11:27:59.554 27910-27910/ app D/App﹕ status Compilation started ...
あなたの 'status'イベントは' progress'イベントとは異なりますよね? –
彼らは別のクラスです – 4ntoine