我应该在应用程序类中注册和取消注册事件总线吗?如果是,那么我应该在哪里注册并取消注册呢?
一旦事件总线的注册在应用程序类中完成,那么我是否需要在suscriber类中注册事件总线?
如果我在Application类中添加一些方法作为suscriber方法,是否会出现问题?
答案 0 :(得分:2)
除了您之外,没有人可以判断您是否应该或不应该在EventBus上注册Application
作为听众 - 这取决于您应用的用例。
如果事件与特定Activity
/ Fragment
/ Service
相关 - 请将其注册为听众。
如果该事件与"全球"相关感觉(即基于事件的集中错误处理) - 您可以将Application
注册为监听器。
您不需要从EventBus取消注册Application
以防止内存泄漏,因为:
Application
可以被视为Singleton对象)onDestroy()
Application
方法
答案 1 :(得分:1)
您可以创建一个具有onStart()和onStop()具体方法和事件总线实例的Common类,现在您可以在不需要时通过触发该类来取消注册EventBus实例。
答案 2 :(得分:0)
订阅onStart()
取消订阅onStop()
或您希望的任何其他Android生命周期组件。
如果它实现/扩展它或在你的类中有任何实例,你应该能够在订阅者类中拥有你的事件总线的实例。