废话不说,最近在弄android的推送。使用的是androidpn,发现Server晚于Client启动或者Client连接后,Server重启,会出现Client无法再连接的情况。分析是因为Client的连接时,对队列的管理有一点点问题。所以修改如下:
XmppManager.java中。
[color=red]runTask();[/color]
路过请
oooO ↘┏━┓ ↙ Oooo
( 踩)→┃你┃ ←(死 )
\ ( →┃√┃ ← ) /
\_)↗┗━┛ ↖(_/
XmppManager.java中。
private void addTask(Runnable runnable) {
Log.d(LOGTAG, "addTask(runnable)...");
taskTracker.increase();
synchronized (taskList) {
if (taskList.isEmpty() && !running) {
running = true;
futureTask = taskSubmitter.submit(runnable);
if (futureTask == null) {
taskTracker.decrease();
}
} else {
[color=red]runTask();[/color]
taskList.add(runnable);
}
}
Log.d(LOGTAG, "addTask(runnable)... done");
}
路过请
oooO ↘┏━┓ ↙ Oooo
( 踩)→┃你┃ ←(死 )
\ ( →┃√┃ ← ) /
\_)↗┗━┛ ↖(_/