Android Evenbus

Posted by pxfile Blog on June 5, 2018

Android-EvenBus

subscribe()方法的实现

register

事件分发过程源码分析

post

解除注册源码分析

最终分别从typesBySubscribersubscriptions里分别移除订阅者以及相关信息即可.

广泛的使用EventBus做消息的通知,可以说是目前消息通知里最好用 的项目.但是业内对EventBus的主要争论点是在于EventBus使用反射会出现性能问题,关于反射的性能问题可以参考这篇文章,

实际上在EventBus里我们可以看到不仅可以使用注解处理器预处理获取订阅信息,EventBus也会将订阅者的方法缓存到METHOD_CACHE里避免重复查找,所以只有在最后 invoke()方法的时候会比直接调用多出一些性能损耗,但是这些对于我们移动端来说是完全可以忽略的.所以盲目的说因为性能问题而觉得EventBus不值得使用显然是不负责任的.