我應該在應用程序類中註冊和取消註冊事件總線嗎?如果是,那麼我應該在哪裏註冊和取消註冊?應用程序類中的事件總線寄存器和取消註冊
一旦事件總線寄存器在應用程序類中完成,那麼我是否需要在可用類中註冊事件總線?
是否有任何問題發生,如果我把一些方法作爲一個suscriber方法在Application類中?
我應該在應用程序類中註冊和取消註冊事件總線嗎?如果是,那麼我應該在哪裏註冊和取消註冊?應用程序類中的事件總線寄存器和取消註冊
一旦事件總線寄存器在應用程序類中完成,那麼我是否需要在可用類中註冊事件總線?
是否有任何問題發生,如果我把一些方法作爲一個suscriber方法在Application類中?
訂閱onStart()
取消訂閱onStop()
或您希望使用的任何其他Android生命週期組件。
如果應用程序類實現/擴展它或在您的類中包含它的任何實例,您應該能夠在您的事件總線中有實例。
除您以外,沒有人能夠判斷您是否應該將Application
註冊爲EventBus上的偵聽器 - 這取決於您的應用的用例。
如果事件與特定的Activity
/Fragment
/Service
相關 - 將它們註冊爲偵聽器。
如果事件與「全局」意義(即基於事件的集中式錯誤處理)相關 - 則可以將Application
註冊爲偵聽器。
你不需要爲了防止內存泄漏,因爲從EventBus註銷Application
:
Application
可以被視爲Singleton對象)onDestroy()
方法在Application
您可以創建一個具有onStart()和onStop()具體方法和事件總線實例的Common類,現在您可以取消註冊EventBus實例當不需要觸發該類時。
我想你需要註冊和取消註冊事件總線特定的Activity或Fragment而不是Application類。 –
@HareshChhelana這意味着我不應該通過應用程序使用單個事件總線實例? – sanil