Android スレッドのサスペンドとレジュームが非推奨になっていることに気付きました。これの回避策は何ですか、またはアンドロイドでスレッドを一時停止して再開するにはどうすればよいですか?
質問する
5541 次
1 に答える
7
実際、ランダムなポイントでスレッドを一時停止または停止することは安全ではないため、これらのメソッドは推奨されていません。
私の意見では、あなたができる最善の方法は、スレッドのrun
メソッドで一時停止し、そこで停止する固定ポイントを次のように使用することwait
です。
class ThreadTask implements Runnable {
private volatile boolean paused;
private final Object signal = new Object();
public void run() {
// some code
while(paused) { // pause point 1
synchronized(signal) signal.wait();
}
// some other code
while(paused) { // pause point 2
synchronized(signal) signal.wait();
}
// ...
}
public void setPaused() {
paused = true;
}
public void setUnpaused() {
paused = false;
synchronized(signal) signal.notify();
}
}
于 2012-04-17T10:22:59.957 に答える