长时间运行的线程+生命周期

时间:2012-02-03 19:35:21

标签: java android

我有一个长期运行的线程,我在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实例是否会被销毁?

由于

1 个答案:

答案 0 :(得分:0)

要解决此问题,可以在ondestroy()方法中调用thread.interrupt()。

我注意到你的活动可能会被破坏,但不一定是你的背景。