2016年7月16日更新:
现在都使用EventBus3了,下面的文档都被弃用了,EventBus3的在这里;EventBus3使用指南
最主要的区别是3使用注解来定义线程模式了,而不是根据方法名了,如下:
// 在Android的主线程中运行,对应以前版本的onEventMainThread
@Subscribe(threadMode = ThreadMode.MAIN)
public void onMessage(MessageEvent event) {
textField.setText(event.message);
}
//与事件的提交者运行在同一个线程(默认的ThreadMode),对应以前版本的onEvent
@Subscribe(threadMode = ThreadMode.POSTING) // 这里的threadMode可以省略不写
public void onMessage(MessageEvent event) {
log(event.message);
}
// 在后台线程中执行,对应以前版本的onEventBackground
@Subscribe(threadMode = ThreadMode.BACKGROUND)
public void onMessage(MessageEvent event){
saveToDisk(event.message);
}
// 在独立的线程中执行,对应以前版本的onEventAsync
@Subscribe(threadMode = ThreadMode.ASYNC)
public void onMessage(MessageEvent event){
backend.send(event.message);
}
@Deprecated
开源框架EventBus
@Deprecated
EventBus使用进阶