EventBus 源码分析
目录
3.1.1
使用
定义事件
1
public static class MessageEvent { /* Additional fields if needed */ }
准备订阅者:声明并注释您的订阅方法,可选择指定一个线程模式
1 2
@Subscribe(threadMode = ThreadMode.MAIN) public void onMessageEvent(MessageEvent event) {/* Do something */};
注册和注销您的订阅者
1 2 3 4 5 6 7 8 9 10 11
@Override public void onStart() { super.onStart(); EventBus.getDefault().register(this); } @Override public void onStop() { super.onStop(); EventBus.getDefault().unregister(this); }
发布事件
1
EventBus.getDefault().post(new MessageEvent());
简单流程
Register subscriber (注册订阅者)
post (发送事件) -> invoke @Subscribe (执行订阅方法)
Unregister subscriber(注销订阅者)