LiveEventBus
LiveEventBus copied to clipboard
(急急急)发送一次数据,收到两条消息,不知是不是框架问题
发送数据: LiveEventBus.get(Constants.DATA, Data.class).post(bean);
接收数据 LiveEventBus.get(Constants.DATA, Data::class.java).observe(this, Observer { //todo }) 2021-07-13 20:38:16.155 1235-1235/com.xxx.xxx I/[LiveEventBus]: post: Data(id=null, pageName=A500, pageDesk=自取, tableware=null, username=null, userPhone=null, userRemarks=null, time=null, dishesList=null, takeaway=false, orderId='', pageType=6, deliveryTitle='', storeName='', sn='', takeawayName='', virtualPhone1='', virtualPhone2='', priceAll='', pricePackage='', priceDelivery='', priceDiscounted='', priceReal='', source=1, barCodeStr=null, qrCodeStr=null, qrCodeStrDesc='', dishes='', extraData='') with key: DATA
2021-07-13 20:38:16.155 1235-1235/com.xxx.xxx I/[LiveEventBus]: message received: Data(id=null, pageName=A500, pageDesk=自取, tableware=null, username=null, userPhone=null, userRemarks=null, time=null, dishesList=null, takeaway=false, orderId='', pageType=6, deliveryTitle='', storeName='', sn='', takeawayName='', virtualPhone1='', virtualPhone2='', priceAll='', pricePackage='', priceDelivery='', priceDiscounted='', priceReal='', source=1, barCodeStr=null, qrCodeStr=null, qrCodeStrDesc='', dishes='', extraData='')
2021-07-13 20:38:16.157 1235-1235/com.xxx.xxx I/[LiveEventBus]: message received: Data(id=null, pageName=A500, pageDesk=自取, tableware=null, username=null, userPhone=null, userRemarks=null, time=null, dishesList=null, takeaway=false, orderId='', pageType=6, deliveryTitle='', storeName='', sn='', takeawayName='', virtualPhone1='', virtualPhone2='', priceAll='', pricePackage='', priceDelivery='', priceDiscounted='', priceReal='', source=1, barCodeStr=null, qrCodeStr=null, qrCodeStrDesc='', dishes='', extraData='')
补充:偶现
+1 ,我也遇到了,多次observer后,Fragment没有销毁;ViewPager2场景下,会受到很多消息
补充:偶现
可以参考这个自查一下:
Q:收到重复的消息怎么办?
A:同样通过Console.getInfo()获取即时的调试信息,主要去观察有没有重复注册的Observer(Console的用法)
https://github.com/JeremyLiao/LiveEventBus/blob/master/docs/console.md
+1 ,我也遇到了,多次observer后,Fragment没有销毁;ViewPager2场景下,会受到很多消息
可以参考这个自查一下:
Q:收到重复的消息怎么办?
A:同样通过Console.getInfo()获取即时的调试信息,主要去观察有没有重复注册的Observer(Console的用法)
https://github.com/JeremyLiao/LiveEventBus/blob/master/docs/console.md
补充:偶现
可以参考这个自查一下:
Q:收到重复的消息怎么办?
A:同样通过Console.getInfo()获取即时的调试信息,主要去观察有没有重复注册的Observer(Console的用法)
https://github.com/JeremyLiao/LiveEventBus/blob/master/docs/console.md
收到, 谢谢您的回复.偶现问题,我这边通过上面的方式去复现下.
补充一下:
1、注册的observe 是在Activity 的onCreate生命周期中执行的,LiveEventBus 会在Activity销毁后自动解绑么,有没有这种可能,是它没有解绑?
2、 在Activity中onCreate中定义observer是不是个正确的存放位置?
麻烦您了^_^
补充:偶现
可以参考这个自查一下: Q:收到重复的消息怎么办? A:同样通过Console.getInfo()获取即时的调试信息,主要去观察有没有重复注册的Observer(Console的用法) https://github.com/JeremyLiao/LiveEventBus/blob/master/docs/console.md
收到, 谢谢您的回复.偶现问题,我这边通过上面的方式去复现下. 补充一下: 1、注册的observe 是在Activity 的onCreate生命周期中执行的,LiveEventBus 会在Activity销毁后自动解绑么,有没有这种可能,是它没有解绑? 2、 在Activity中onCreate中定义observer是不是个正确的存放位置?
麻烦您了^_^
1、注册的observe 是在Activity 的onCreate生命周期中执行的,LiveEventBus 会在Activity销毁后自动解绑么,有没有这种可能,是它没有解绑? observe方法订阅会在Activity销毁后自动解绑,observeForever不会自动解绑,需要手动unregister
2、 在Activity中onCreate中定义observer是不是个正确的存放位置? 这里应该是个常用的订阅消息的地方
补充:偶现
可以参考这个自查一下: Q:收到重复的消息怎么办? A:同样通过Console.getInfo()获取即时的调试信息,主要去观察有没有重复注册的Observer(Console的用法) https://github.com/JeremyLiao/LiveEventBus/blob/master/docs/console.md
收到, 谢谢您的回复.偶现问题,我这边通过上面的方式去复现下. 补充一下: 1、注册的observe 是在Activity 的onCreate生命周期中执行的,LiveEventBus 会在Activity销毁后自动解绑么,有没有这种可能,是它没有解绑? 2、 在Activity中onCreate中定义observer是不是个正确的存放位置? 麻烦您了^_^
1、注册的observe 是在Activity 的onCreate生命周期中执行的,LiveEventBus 会在Activity销毁后自动解绑么,有没有这种可能,是它没有解绑? observe方法订阅会在Activity销毁后自动解绑,observeForever不会自动解绑,需要手动unregister
2、 在Activity中onCreate中定义observer是不是个正确的存放位置? 这里应该是个常用的订阅消息的地方 谢谢!!! 使用的方式就是在onCreate,且使用的是observe方法订阅,出现的现象是发一个,收两个,因为是生产环境中偶现,只能添加日志,等待复现后,查看日志了
这个是注册的问题,不能用this,要用viewLifecycleOwner
注意一下 是不是LifecycleOwner 的生命周期不对劲