我有一个长期运行的线程,我在app启动时启动:
public class MyHelper extends Thread {
private AtomicBoolean mRun;
public void run() {
while (mRun.get()) {
...
}
}
}
public class App extends Application {
private MyHelper mHelper;
public void onCreate() {
mHelper = new MyHelper();
mHelper.start();
}
}
我们在Android中没有获得任何“应用终止”信号,以上是否保持我的应用程序永远在后台运行?我不知道什么时候关闭线程的好地方。
我想知道用户是否从堆栈中弹出最后一个活动(通过点击后退按钮),即使Thread仍然处于等待状态,我的Application实例是否会被销毁?
由于
答案 0 :(得分:0)
要解决此问题,可以在ondestroy()方法中调用thread.interrupt()。
我注意到你的活动可能会被破坏,但不一定是你的背景。