EventBus 原理解析

此文的前提是读者已经会使用EventBus这个开源库,本文要的主要内容:

EventBus的主要框架:

先来看一下时序图:

a)注册过程,在使用类中调用register,EventBus就会通过SubscriberMethodFinder查找到当前类已经声明的方法,这些方法是要求有@Subscibe注解

b)通过反射的方法拿到这些方主类,方法参数类型,及监听的线程等信息,把这些信息加入到一个叫做subscriptionByEventType的Map容器。

c) 当post消息过来时,EventBus从subscriptionByEventType这个Map容器中找到对应的方法来进行调用。

EventBus 原理解析