EventBus3.0的学习

eventBus 2.4  http://blog.csdn.net/harvic880925/article/details/40660137

eventBus 3.0 http://blog.csdn.net/lsyz0021/article/details/51985307

EventBus是一款针对Android优化的发布/订阅事件总线。主要功能是替代Intent,Handler,BroadCast在Fragment,Activity,Service,线程之间传递消息.优点是开销小,代码更优雅。以及将发送者和接收者解耦。

转自网络:

如果在另外一个activity,SecondActivity跳转的时候使用EventBus就会接受不到报错No subscribers registered for event class com.zhongxunkeji.app.carillegalrecord.busevent.LoginSuccessEvent,后台花了几个小时终于找到问题的原因,就是跳转到SecondActivity的时候在EventBus注册之前,消息已经发送了,因此才会出现上面的错误。

解决方案:使用粘性发送消息的方式,EventBus.getInstance().postSticky(new Test("发送成功"));当然在接收的时候指定方式sticky = true;如@Subscribs(Sticky =true),就可以解决上面的问题。粘性发送消息的意思是如果没有接收到消息还会继续发送最新发送过的消息。好了简单的记录一下,因为在网上找了没有对于类似的问题解决方案。。还是希望能够帮助一些遇到这个问题的朋友。。。。

原文地址:https://www.cnblogs.com/antble/p/7116596.html