我的应用程序的第一个 Activity 生成一个线程来执行一些 IO 操作。如果在那一刻用户点击后退按钮, Activity 将被销毁(我可以看到正在调用 onDestroy 方法)但线程仍在运行(我可以从日志消息中看到)。
如果用户随后返回应用程序,则会再次创建 Activity,此时我想检查线程是否仍在运行,在这种情况下,不会启动新线程。
实现此目标的最佳方法是什么?
否则:这是糟糕的设计吗?在调用 onDestroy 时,确保由 Activity 启动的所有线程都被杀死会更好吗?
最佳答案
我会在离开 Activity 时终止线程(除非它需要运行,然后我会使用服务来做到这一点)
检查你可以使用的线程
thread.getState();
例子:
if (thread.getState() == Thread.State.NEW)
thread.start();
else
{
//Do something else here
}
关于android - 如何在 Activity 被销毁后检查 Activity 产生的线程是否还活着,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12969324/