http://www.cnblogs.com/whoislcj/p/5595714.html ==================================== 事件类 存放数据 ---------------------------- 订阅事件 先订阅事件 订阅 EventBus.getDefault().register(this);//订阅 解除订阅 EventBus.getDefault().unregister(this);//解除订阅 订阅 /* 线程模型 threadMode = ThreadMode.MAIN 在主线程接收 threadMode = ThreadMode.BACKGROUND 如果事件是在主线程发布,则在EventBus的线程池中的线程接收 如果事件是在子线程发布,则在子线程接收 threadMode = ThreadMode.POSTING 在发布的线程接收 threadMode = ThreadMode.ASYNC 都在EventBus的线程池中的线程接收 */ @Subscribe(threadMode = ThreadMode.MAIN) //在ui线程执行 public void onDataSynEvent(DataSynEvent event) {//方法名可改变 Log.e(TAG, "event---->" + event.getCount()); } ----------------------- 发布事件 EventBus.getDefault().post(new DataSynEvent()); EventBus.getDefault().postSticky(new DataSynEvent())//粘性事件,类似粘性广播 ======================================== EventBus优缺点: 优点:简化组件之间的通信方式,实现解耦让业务代码更加简洁,可以动态设置事件处理线程以及优先级 缺点:目前发现唯一的缺点就是类似之前策略模式一样的诟病,每个事件都必须自定义一个事件类,造成事件类太多,无形中加大了维护成本