我是EventBus的初学者。我试着用我的程序理解文档中的声明。但它不像你在文档中所说的那样。
......例如,如果您在具有MAIN线程模式的事件处理程序中发布另一个事件,则第二个事件处理程序将在第一个事件处理程序之前完成(因为它被同步调用 - 将其与方法调用进行比较)。 ......
我的代码如下:
@Subscribe(threadMode = ThreadMode.MAIN)
public void onMainOrderMsgEvent(MainOrderMsgEvent event) {
EventBus.getDefault().post(new OtherMsgEvent("Other Msg"));
Log.e(TAG, "onMainOrderMsgEvent: " + " finished");
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void onOtherMsgEvent(OtherMsgEvent event) {
Log.e(TAG, "onOtherMsgEvent: " + " finished");
}
它应该是这样的:
01-26 13:51:59.801 32643-32643/liufushihai.project.threadmode E/MainActivity: onOtherMsgEvent: finished
01-26 13:51:59.801 32643-32643/liufushihai.project.threadmode E/MainActivity: onMainOrderMsgEvent: finished
但结果如下:
01-26 13:51:59.801 32643-32643/liufushihai.project.threadmode E/MainActivity: onMainOrderMsgEvent: finished
01-26 13:51:59.801 32643-32643/liufushihai.project.threadmode E/MainActivity: onOtherMsgEvent: finished
我理解正确吗?我将不胜感激获得重播。