请问各位前辈
我目前想做的功能是 我开一个 thread
可以接收 main thread 来的message做处理(转成自己的指令格式用socket传给server)
同时也要监听server是否有回应
现在的问题是 我用Looper来收 main thread message
但loop()当messgae queue没东西会卡住
我希望做到的是 在Message queue没东西时还能做其他的事 (像下面的架构)
private class ClientThread implements Runnable {
@Override
public void run() {
while(true) {
......
......
looper.loop() // 正常会卡住
............. // 我想做的事
}
}
}
请问有办法让 loop non block吗
我目前想到的另一个做法是把我要做的事 写成 IdleHanlder 绑定到 message queue
让 queue空的时候去做我指定的事
但还是想请问各位
1. loop() 有办法 nonblock吗
2. 或者有什么其他建议的做法 我想这个问题应该很多人会遇到
(专门开一个 thread 只能做meesgae 处理好像有点?)
希望大家能多给些意见 先在此感谢各位的回答