【发布时间】:2011-10-17 13:45:32
【问题描述】:
我是新手,所以也许这对每个人来说都是微不足道的,但我就是想不通,为什么这不起作用。我已经阅读了它,尝试了很多方法,但仍然无法正常工作。所以我想在android(java)中暂停一个线程。我希望它运行,冻结屏幕 1 秒,然后继续工作。就这样。为什么这不起作用?
public class Game extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.game);
runner.join();
runner.start();
// do stuff
pause();
// do stuff
}
private boolean running = true;
private boolean paused = false;
public void setRunning(boolean run) {
running = run;
}
public void pause() {
paused = true;
}
Thread runner = new Thread() {
public void run() {
while (running) {
try {
//do stuff
Thread.sleep(100);
while (paused) {
try {
Thread.sleep(1000);
} catch (Exception e) {
} finally {
paused = false;
}
}
} catch (Exception e) {
}
}
}
};
}
【问题讨论】:
-
while(paused)循环中的异常可能正在触发。在 catch 块中将异常消息记录到控制台。
标签: java android multithreading