После проверки исходного кода глиссады.
Glide инициализирует своего исходного исполнителя по умолчанию, только если исходный исполнитель не был предоставлен разработчику.
Glide build(@NonNull Context context) {
if (sourceExecutor == null) {
sourceExecutor = GlideExecutor.newSourceExecutor();
}
if (diskCacheExecutor == null) {
diskCacheExecutor = GlideExecutor.newDiskCacheExecutor();
}
if (animationExecutor == null) {
animationExecutor = GlideExecutor.newAnimationExecutor();
}
...
}
// Glide executor is simply a wrapper over ThreadPoolExecutor class.
public static GlideExecutor newSourceExecutor(int threadCount, String name, UncaughtThrowableStrategy uncaughtThrowableStrategy) {
return new GlideExecutor(new ThreadPoolExecutor(threadCount /* corePoolSize */,threadCount /* maximumPoolSize */,0 /* keepAliveTime */,TimeUnit.MILLISECONDS,new PriorityBlockingQueue<Runnable>(),new DefaultThreadFactory(name, uncaughtThrowableStrategy, false)));
}
Поскольку вы проверяете потоки, используя библиотеку Stetho для мониторинга сетевых вызовов, которые не показывают никакой информации о потоках. Весьма вероятно, что эти запросы инициируются одним потоком.
Чтобы лучше понять использование потоков в приложении, вы должны проверить его, используя Android monitor -> DDMS -> Threads.
Я проверил с помощью инструмента «Потоки DDMS» и нашел только один поток, работающий с упомянутым фрагментом кода.
![enter image description here](https://i.stack.imgur.com/he7Mj.png)