我是EventBus的新手,并且想知道如果接收方(例如某个活动)被破坏或变为空,会发生什么。我需要对此进行解释,因为我正在尝试构建用于构建(架构)android应用程序的标准,并且EventBus是我用来解耦组件的方式。
答案 0 :(得分:1)
当应该开始接收事件时,您应该注册任何接收者,并且当接收事件不应该接收事件时(例如将要去除事件),将其注册。如果是Activity
/ Fragment
,您应该将生命周期方法(如onCreate
/ onDestroy
和onResume
/ onPause
)视为主要生命周期方法对。
如果你没有注意接收器在接收事件时将其取消注册,那么,根据您使用的实际事件总线,您将浪费一些内存(用于保存接收器映射中的null
引用)或获取NPE(如果事件总线实现没有检查接收器null
)。