让许多HandlerThreads活着,什么也不做,只是在等待,这是不是很糟糕?

时间:2016-02-03 22:38:07

标签: android multithreading performance android-handler android-handlerthread

我在Android项目中全部使用HandlerHandlerThread。我在服务中使用了大部分内容。在那里,我的处理程序由一个具有低优先级的HandlerThread支持,在onCreated()中创建并在onDestroy()中停止。

他们中的许多人只是在等待。例如。他们每五分钟处理几秒钟。

总的来说,我的应用程序有大约20个线程(其中一半是HandlerThreads)。那么,打开这么多线程是一个性能问题吗?在Is it bad to have threads waiting in java?我学到了,它应该是正确的。我只是想检查,如果这也适用于HandlerThread

1 个答案:

答案 0 :(得分:1)

大概20?可能还不错。它可能会略微降低内核调度程序的性能,但只要您没有达到操作系统限制并且不进行轮询,空闲线程就不会占用CPU。它们可以占用内存,因此请确保不要在这些线程上保留您不一定需要的任何引用。