我怎么知道Dispatchers.IO当前正在使用多少线程?
答案 0 :(得分:2)
您可以看到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
答案 1 :(得分:0)
您可以使用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。