【发布时间】:2014-11-24 13:31:54
【问题描述】:
我有一个单例服务类,可以按照设定的时间表从服务器中提取数据。客户端一收到数据,我就触发bus.post(new NewServerResponseEvent()); (http://square.github.io/otto/)
然后在我的片段中我这样做:
@Override
public void onResume() {
super.onResume();
eventBus.register(this);
}
@Override
public void onPause() {
super.onPause();
eventBus.unregister(this);
}
@Subscribe
public void handleNewServerData(NewServerResponseEvent e) {
refreshView();
}
只要我在我的测试设备上开发时运行它,一切都会非常顺利。一旦我构建了发布版本并将其放入 Play 商店,就永远不会调用 handleNewServerData() 函数。
我无法理解这一点。将整个事情作为发布版本运行有什么不同?是否可能在另一个线程中发生了无法发布给我的订阅者的事情?
有人能指出我正确的方向吗?
提前致谢
【问题讨论】:
标签: android multithreading events event-bus otto