Android 如何终止HandlerThreads?

Android 如何终止HandlerThreads?,android,multithreading,Android,Multithreading,下面是Google使用服务的示例,我创建了两个类似这样的线程。我不能使用IntentService,因为我正在做一些需要等待回调的事情 但是,我不知道如何终止以这种方式启动的线程。据我所知,当run()方法返回时,线程会自动终止。但是,这种线程没有run方法。我的线程正在泄漏--它们在stopSelf()之后仍然有效 尝试在相应的循环器上调用quit方法。强制关闭应用程序可以做到这一点,但它们只能自己继续运行。您可以在处理程序线程上调用quit方法 e、 g 您还可以使用以下建议的方法: 但是在

下面是Google使用服务的示例,我创建了两个类似这样的线程。我不能使用IntentService,因为我正在做一些需要等待回调的事情

但是,我不知道如何终止以这种方式启动的线程。据我所知,当run()方法返回时,线程会自动终止。但是,这种线程没有run方法。我的线程正在泄漏--它们在stopSelf()之后仍然有效


尝试在相应的循环器上调用
quit
方法。

强制关闭应用程序可以做到这一点,但它们只能自己继续运行。

您可以在处理程序线程上调用quit方法

e、 g


您还可以使用以下建议的方法:

但是在使用它之前要小心,因为它会取消所有挂起的作业

handler.quitSafely();

@TenFour04您会发布最终解决方案吗?我不明白为什么使用回调会阻止您使用IntentService。我希望“等待回电”并不意味着在这里忙着等待。如果是的话,我建议重新设计。如果没有,那么就没有理由在每个预期回调的基础上保留一个单独的HandlerThread。即使需要对回调提供的数据进行繁重的后处理,为这些数据建立一个队列也是明智的。因此,了解您心目中的体系结构将是一件非常棒的事情。
thread.quit();
thread2.quit();
handler.quitSafely();