我怎么知道Dispatchers.IO目前使用的线程数是多少?
正如你可以阅读here Dispatchers.IO
没有自己的线程池,它使用共享池。 Dispatchers.Default
使用相同的线程池。没有简单的方法来获取Dispatchers.IO
目前使用的活动线程。但您可以尝试在共享线程池中获取线程计数。常见的线程池是在CommonPool.kt
内部创建的。它可以创建自己的游泳池或使用ForkJoinPool。池中创建的所有线程都具有特定名称。因此,您可以按名称查找共享池的所有活动线程。
val threads = Thread.getAllStackTraces().keys.filter {
it.name.startsWith("CommonPool") || it.name.startsWith("ForkJoinPool")
}
threads.size
您可以使用Android分析器来监控线程。
在Android Monitor tools,Android Profiler被Android Studio 3.0取代:
Android Profiler - Android Studio 3.0包含一套全新的工具套件,可帮助调试应用中的性能问题。我们完全重写了之前的Android Monitor工具集,并将其替换为Android Profiler。将应用程序部署到正在运行的设备或模拟器后,单击Android Profiler选项卡,您现在可以访问应用程序的CPU,内存和网络活动的实时统一视图。 ...
要监视线程,请在Android Profiler中使用CPU Profiler。
- 单击视图>工具窗口> Android Profiler(您也可以单击工具栏中的Android Profiler)。
- 从Android Profiler工具栏中选择要分析的设备和应用程序进程。如果您已通过USB连接设备但未看到它已列出,请确保已启用USB调试。
- 单击CPU时间轴中的任意位置以打开CPU Profiler。