2017-03-03 12 views
1

私はいくつかのスティッキーevents.everythingが正常に動作投稿するeventbusとしてgreenrobotを使用して。スティッキーポストがうまく動作していることを示すコンテンツが表示されます。EventBusスティッキーポストコールは一度

しかし、私はアプリを閉じて、それを2番目、3番目、...開いているときにはexがありません。スティッキーイベントが投稿されていないことを示すコンテンツが表示されます。 Stickyイベントは一度だけ投稿されます!どうして?それは正常かバグか?

onPostExecuteのコードをAsyncTaskとしています。文書を1として

EventBus.getDefault().postSticky(new SliderBusModel(SlideID,SlideImage,SlideType,SlideTitle)); 

答えて

1

手動すなわち一つだけ粘着性のイベントが一度にメモリに残るremoveStickyEvent(stickyEvent)を呼び出すことによって、それを削除するまで、最後の粘着性のイベントがメモリに残っています。すでにメモリー内に1つのスティッキー・イベントがあり、別のスティッキー・イベントをポストすると、前のスティッキー・イベントが失われます。既存のイベントが他のイベントによって削除されている場合は、コードを確認してください。下記読む:

一部のイベントは、イベントが が掲載された後、興味のある情報を運びます。たとえば、ある初期化が 完了したことをイベントが通知します。または、センサまたは位置データがあり、最新の値を保持する場合は とします。独自の キャッシングを実装する代わりに、スティッキーなイベントを使用できます。そのため、EventBusは最後のstickyの イベントをメモリに保持します。その後、スティッキーイベントは、 をサブスクライバに配信したり、明示的に照会することができます。