2017-03-03 81 views
1

我使用綠色機器人作爲事件總線發佈一些粘性events.everything正常工作,當我打開申請前。顯示內容顯示粘貼文件工作正常。EventBus粘貼郵寄一次電話

但是,當我關閉應用程序並打開它的第二,第三,...時間沒有前。內容顯示這意味着粘性事件尚未發佈。 Sticky活動只發布一次!爲什麼?這是正常還是錯誤?

我使用下面的代碼onPostExecuteAsyncTask

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

回答

1

正如每個文檔,只有最後粘事件留在記憶裏,直到您手動調用removeStickyEvent(stickyEvent)即只有一個粘性事件將保留在內存中一次刪除它。如果你已經在內存中有一個粘性事件,並且發佈了另一個粘性事件,那麼之前的一個會丟失。如果您的現有活動被其他活動取消,請檢查您的代碼。請閱讀以下內容:

某些事件會在發佈事件 後發送關注的信息。例如,一個事件信號表明某些初始化完成爲 。或者,如果您有一些傳感器或位置數據,並且您希望 保持最新的值。您可以使用粘性事件來代替實施自己的 緩存。所以EventBus會在內存中保存某個特定類型的最後一個粘性事件 。然後粘性事件可以是 傳遞給訂戶或明確查詢。