【发布时间】:2018-02-01 21:49:57
【问题描述】:
到目前为止,这个话题已经讨论过很多次了,但仍然没有成功。
我的MainActivity 有一个名为Handler mHandlerUi; 的属性,它在其构造函数中初始化
mHandlerUi = new Handler() {
@Override
public void handleMessage(Message msg){
onMessageArrive(msg);
}
};
稍后在代码中,在另一个类中,在构建期间我初始化另一个 Handler 属性
mHandlerToUi = new Handler(Looper.getMainLooper());
所以在线程的生命周期内,下面的代码 sn-p 会被执行 X 次。
Message msg = mHandlerToUi.obtainMessage();
msg.what = ConstMessages.MSG_NEW_GPS_POINT;
msg.setData(bundleContet);
mHandlerToUi.sendMessage(msg);
不幸的是消息永远不会到达 MainActivity 的 Looper,两个线程都使用同一个 UI 的 Looper,
我在这里错过了什么?
【问题讨论】:
标签: java android multithreading