什么时候是杀死一个线程的最佳时机?

时间:2018-02-27 17:16:56

标签: java android runnable android-thread

我有一个活动,它有一个扩展SurfaceView的类,并实现Runnable以不断在Canvas对象上绘制。我意识到当我想切换活动并杀死当前的活动时,即使我调用finish(),线程也不会被自己销毁。因此,我想知道什么时候是销毁该线程的最佳时机(可能在onDestroy()方法?),更重要的是如何销毁该线程?谢谢。

1 个答案:

答案 0 :(得分:1)

不,因为onDestroy在活动结束时始终不会被调用。最好的办法是onStop()你杀了线程,而onStart()你总是启动它。

这样一来,当你的活动在后台时,线程将永远不会运行,并且在关闭时会被杀死。

杀死线程取决于您使用的是哪种线程。

可以杀死常规线程
yourThread.interrupt()

然后在你的主题中你会做类似

的事情
while(!Thread.currentThread().isInterrupted()) {
         // ...
    }