何时是终止线程的最佳时间以及如何终止线程?

When is the best time to kill a Thread and How?

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

不,因为在 activity 结束时并不总是调用 onDestroy。最好的办法是在 onStop() 中终止线程,并在 onStart() 中始终启动线程。

这样当你的 activity 处于后台时线程将永远不会 运行 并且在关闭时将被杀死。

杀死一个线程取决于你使用的是什么类型的线程。可以用

杀死常规线程
yourThread.interrupt()

然后在你的线程中你会做类似的事情

while(!Thread.currentThread().isInterrupted()) {
         // ...
    }