Java 如何在Android中创建线程?

Java 如何在Android中创建线程?,java,android,multithreading,Java,Android,Multithreading,我的应用程序的用户正遭受OutOfMemoryErrors的痛苦,这可能是由于线程太多造成的。应用程序代码经过仔细审查。大多数后台任务都使用不超过2倍CPU核心数线程的线程池。有些模块有专用的线程供自己使用,但许多这样的线程是固定的,而且非常有限。但是,应用程序在运行时通常有130多个线程。在一个特定的崩溃报告中,我甚至看到400多个线程在用户的设备上运行。因为我在应用程序中使用了一些第三方库,所以我想调查它们的行为。大多数正在运行的线程被命名为“pool-xx-thread-1”,这是由执行器

我的应用程序的用户正遭受
OutOfMemoryError
s的痛苦,这可能是由于线程太多造成的。应用程序代码经过仔细审查。大多数后台任务都使用不超过2倍CPU核心数线程的线程池。有些模块有专用的线程供自己使用,但许多这样的线程是固定的,而且非常有限。但是,应用程序在运行时通常有130多个线程。在一个特定的崩溃报告中,我甚至看到400多个线程在用户的设备上运行。因为我在应用程序中使用了一些第三方库,所以我想调查它们的行为。大多数正在运行的线程被命名为“pool-xx-thread-1”,这是由
执行器生成的默认名称。DefaultThreadFactory
。似乎有些库代码创建了很多单线程池


如何找到创建大量线程的代码?

您是否尝试了
StrictMode
并查看它是否有用?[刚刚意识到主线程可能不是这样。]感谢您的编辑。不,我没有发现
StrictMode
有用。您是否尝试过
StrictMode
并查看它是否有用?[刚刚意识到主线程可能不是这样。]感谢您的编辑。不,我没有发现
StrictMode
有用。