2017-04-04 29 views
0

我應該在應用程序類中註冊和取消註冊事件總線嗎?如果是,那麼我應該在哪裏註冊和取消註冊?應用程序類中的事件總線寄存器和取消註冊

一旦事件總線寄存器在應用程序類中完成,那麼我是否需要在可用類中註冊事件總線?

是否有任何問題發生,如果我把一些方法作爲一個suscriber方法在Application類中?

+0

我想你需要註冊和取消註冊事件總線特定的Activity或Fragment而不是Application類。 –

+0

@HareshChhelana這意味着我不應該通過應用程序使用單個事件總線實例? – sanil

回答

0

訂閱onStart()取消訂閱onStop()或您希望使用的任何其他Android生命週期組件。

如果應用程序類實現/擴展它或在您的類中包含它的任何實例,您應該能夠在您的事件總線中有實例。

1

除您以外,沒有人能夠判斷您是否應該將Application註冊爲EventBus上的偵聽器 - 這取決於您的應用的用例。

如果事件與特定的Activity/Fragment/Service相關 - 將它們註冊爲偵聽器。

如果事件與「全局」意義(即基於事件的集中式錯誤處理)相關 - 則可以將Application註冊爲偵聽器。

你不需要爲了防止內存泄漏,因爲從EventBus註銷Application

  • 他們LYFE週期是相同的(Application可以被視爲Singleton對象)
  • 沒有onDestroy()方法在Application
0

您可以創建一個具有onStart()和onStop()具體方法和事件總線實例的Common類,現在您可以取消註冊EventBus實例當不需要觸發該類時。

相關問題