我正在从应用程序的“主”线程生成新的工作线程。只要应用程序处于活动状态,这些线程就不断需要执行某些操作。而且,当应用程序退出时,我确实希望正确清理所有工作线程(无论这意味着什么)。为了做到这一点,生命周期方法是唯一的地方吗?应用程序退出时是否会收到意图/通知?如果是,我们可以在此类意图/通知上注册广播接收器来执行所需的清理吗?
Thanks,
Ashok.
Code Snippet:
导入 android.app.Activity;
导入 android.os.Bundle;
导入 android.util.Log;
公共类 SomeThreadTest 扩展 Activity {
/** 在第一次创建活动时调用。 */
线程 t = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
t = new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
while (true) {
try {
Thread.sleep(15000);
Log.d("SomeThreadTest", "Thread wokeup now");
} catch (InterruptedException e) {
Log.d("SomeThreadTest", "Thread interrupted exception called!");
e.printStackTrace();
return;
}
if (Thread.interrupted()) {
Log.d("SomeThreadTest", "I'm interrupted!");
}
}
}
}, "TestThread");
t.setDaemon(true);
t.start();
}
}
考虑调用workerThread.setDaemon(true),它告诉线程是服务提供者,并在非守护程序主线程退出时杀死我。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)