【发布时间】:2012-04-13 08:13:32
【问题描述】:
我创建了一个线程来处理一些队列数据。在线程内部有一个无限的while循环。当循环工作时,界面总是冻结。
我对此感到困惑,我已经创建了线程,但为什么它仍然冻结?
Thread queue = new Thread(new Runnable() {
public void run() {
while(true) {
...
}
}
});
queue.start;
这个问题有什么解决办法吗?
【问题讨论】:
-
你需要while循环做什么?我想你试着在后台做点什么?然后也许检查 AsyncTask
-
@Felix .. 您在 While 循环中所做的事情很重要.. 希望它不会创建对象...
-
是的,你说得对。我正在使用异步任务,但它提出了同样的问题。我需要无限循环来观察变量何时发生变化。
-
发布你在while循环中所做的事情......我的意思是里面的代码......
-
@sandy 不,我没有创建对象。我试图监视一个变量以从 Internet 下载一些数据。就像在 while 循环中一样: if (address != null) { result = result + downloaddata(address); }
标签: java android multithreading loops while-loop