首页  >  问答  >  正文

android - EventBus注销是在传值的页面注销还是接收值的页面注销?

很久没有用了 发现 不知道在哪个页面注销了

怪我咯怪我咯2713 天前778

全部回复(3)我来回复

  • 天蓬老师

    天蓬老师2017-04-18 09:20:04

    1. 官方DEMO是在onResume()注册和onPause()反注册. 但是这种机制, 可能不适应大部分的需求场景.onResume()注册和onPause()反注册. 但是这种机制, 可能不适应大部分的需求场景.

    2. 如果考虑在onCreate(...)注册和onDestroy()

    如果考虑在onCreate(...)注册和onDestroy()反注册, 那有一种情况就需要注意了:

    🎜如果一个Activity创建了多个实例时, 而EventBus.post(Event)出来的Event本应该只由顶层Activity实例接收, 那么这是就会出问题.🎜🎜

    回复
    0
  • PHP中文网

    PHP中文网2017-04-18 09:20:04

    在OnCreat里面注册,注册之前先判断注册过没。重复注册会报错。

    在Destory里面反注册。去过在onPause里面反注册,页面不可见时,发出的刷新广播或者其他广播,接收不到的。顶层Activity中接收实例之后,你在View中直接写OnEvent也是可以响应的,所以注册之前先判断有没有注册过。里面要用this就行,不用Context。

    回复
    0
  • 天蓬老师

    天蓬老师2017-04-18 09:20:04

    谁注册谁注销,register和unregister在同一个类里面最科学

    回复
    0
  • 取消回复