我在我的 Android Activity 中使用了一些线程对象。但是当 Activity 销毁时,这些线程不会自行停止。我的线程停止代码如下:
@Override
public void onDestroy() {
super.onDestroy();
thread.interrupt();
}
以上代码不仅适用于线程对象停止,而且还会抛出 InterruptedException。无异常地停止正在运行的线程的正确方法是什么?
thread对象抛出InterruptedException不是错误吗?
最佳答案
试试这个方法:
volatile boolean stop = false;
public void run() {
while ( !stop ) {
log.v("Thread", "Thread running..." );
try {
Thread.sleep( 1000 );
} catch ( InterruptedException e ) {
log.v("Thread","Thread interrupted..." );
}
}
}
@Override
public void onDestroy() {
stop = true;
super.onDestroy();
}
和
@Override
public void onDestroy() {
thread.interrupt();
super.onDestroy();
}
关于android - 如何在 Android 上销毁 Activity 时停止正在运行的线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10544515/