JeremyLiao / LiveEventBus

:mailbox_with_mail:EventBus for Android,消息总线,基于LiveData,具有生命周期感知能力,支持Sticky,支持AndroidX,支持跨进程,支持跨APP
Apache License 2.0
3.87k stars 529 forks source link

会重复收到消息 #122

Open hgncxzy opened 3 years ago

hgncxzy commented 3 years ago

我发现会重复收到消息,版本是v1.7.2,传的是 map,语言时 kotlin

JeremyLiao commented 3 years ago

可以先用console功能debug一下

lzy-h2o2 commented 3 years ago

我也遇到类似的问题 点击一次按钮 触发多次,发现version在自增: 2020-12-17 16:28:32.021 26103-26103/com.app.base I/xxx: ==> Base info lifecycleObserverAlwaysActive: false autoClear: true logger enable: true logger: com.zndroid.bus.logger.DefaultLogger@6b10207 Receiver register: true Application: android.app.Application@c12775e Event info Event name: com.zndroid.base.event.BaseNetEvent version: 3 ========>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>这里 hasActiveObservers: true hasObservers: true ActiveCount: 1 ObserverCount: 1 Observers: [com.zndroid.bus.core.LiveEventBusCore$ObserverWrapper@6983ac3=androidx.lifecycle.ExternalLiveData$ExternalLifecycleBoundObserver@562d672]

我的触发时机是:日/夜间模式来回切换 调用了 recreate();方法

hgncxzy commented 3 years ago

我这个问题,最后定位不是框架问题,是两个app之间的全局广播导致的。

许助云 hgncxzy@qq.com

---原始邮件--- 发件人: "lazy"<notifications@github.com> 发送时间: 2020年12月17日(周四) 下午4:32 收件人: "JeremyLiao/LiveEventBus"<LiveEventBus@noreply.github.com>; 抄送: "Author"<author@noreply.github.com>;"hgncxzy"<hgncxzy@qq.com>; 主题: Re: [JeremyLiao/LiveEventBus] 会重复收到消息 (#122)

我也遇到类似的问题 点击一次按钮 触发多次,发现version在自增: 2020-12-17 16:28:32.021 26103-26103/com.app.base I/xxx: ==> Base info lifecycleObserverAlwaysActive: false autoClear: true logger enable: true logger: com.zndroid.bus.logger.DefaultLogger@6b10207 Receiver register: true Application: android.app.Application@c12775e Event info Event name: com.zndroid.base.event.BaseNetEvent version: 3 ========>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>这里 hasActiveObservers: true hasObservers: true ActiveCount: 1 ObserverCount: 1 Observers: [com.zndroid.bus.core.LiveEventBusCore$ObserverWrapper@6983ac3=androidx.lifecycle.ExternalLiveData$ExternalLifecycleBoundObserver@562d672]

我的触发时机是:日/夜间模式来回切换 调用了 recreate();方法

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

lzy-h2o2 commented 3 years ago

仔细观察了一下 是recreate()导致的 fragment叠加导致的

JeremyLiao commented 3 years ago

version

version自增是正常的,ObserverCount=1感觉也没有问题,最后是fragment叠加导致的是吧?

lzy-h2o2 commented 3 years ago

是的