ANDROID - 在Thread内循环

时间:2012-04-13 08:13:32

标签: java android multithreading loops while-loop

我创建一个线程来处理一些队列数据。在线程内部有一个无限循环。当循环工作时,界面总是冻结。

我对此感到困惑,我已经创建了线程,但为什么它仍然冻结?

Thread queue = new Thread(new Runnable() {
   public void run() {
        while(true) {
          ...
        }
    }
  }); 
  queue.start;

针对此问题的任何解决方案?

1 个答案:

答案 0 :(得分:3)

它不仅仅是你的界面变慢,实际上你的手机也会因为你正在消耗(不必要地浪费)while循环中的所有处理能力。要获得更好的方法,请在线程中的while循环中使用Handler和/或AsyncTask或至少使用Thread.sleep