提交 7080b408 编写于 作者: S Sam Judd

Consistently order executors in Engine.

上级 c274f4e3
......@@ -27,7 +27,7 @@ public class GlideBuilder {
private BitmapPool bitmapPool;
private MemoryCache memoryCache;
private DiskCache diskCache;
private ExecutorService resizeService;
private ExecutorService sourceService;
private ExecutorService diskCacheService;
public GlideBuilder(Context context) {
......@@ -86,7 +86,7 @@ public class GlideBuilder {
* @return This builder.
*/
public GlideBuilder setResizeService(ExecutorService service) {
this.resizeService = service;
this.sourceService = service;
return this;
}
......@@ -117,9 +117,9 @@ public class GlideBuilder {
}
Glide createGlide() {
if (resizeService == null) {
if (sourceService == null) {
final int cores = Math.max(1, Runtime.getRuntime().availableProcessors());
resizeService = new FifoPriorityThreadPoolExecutor(cores);
sourceService = new FifoPriorityThreadPoolExecutor(cores);
}
if (diskCacheService == null) {
diskCacheService = new FifoPriorityThreadPoolExecutor(1);
......@@ -149,7 +149,7 @@ public class GlideBuilder {
}
if (engine == null) {
engine = new Engine(memoryCache, diskCache, resizeService, diskCacheService);
engine = new Engine(memoryCache, diskCache, diskCacheService, sourceService);
}
return new Glide(engine, memoryCache, bitmapPool, context);
......
......@@ -54,14 +54,14 @@ public class Engine implements EngineJobListener, MemoryCache.ResourceRemovedLis
}
}
public Engine(MemoryCache memoryCache, DiskCache diskCache, ExecutorService resizeService,
ExecutorService diskCacheService) {
this(memoryCache, diskCache, resizeService, diskCacheService, null, null, null, null);
public Engine(MemoryCache memoryCache, DiskCache diskCache, ExecutorService diskCacheService,
ExecutorService sourceService) {
this(memoryCache, diskCache, diskCacheService, sourceService, null, null, null, null);
}
// Visible for testing.
Engine(MemoryCache cache, DiskCache diskCache, ExecutorService resizeService,
ExecutorService diskCacheService, Map<Key, EngineJob> jobs, EngineKeyFactory keyFactory,
Engine(MemoryCache cache, DiskCache diskCache, ExecutorService diskCacheService, ExecutorService sourceService,
Map<Key, EngineJob> jobs, EngineKeyFactory keyFactory,
Map<Key, WeakReference<EngineResource<?>>> activeResources, EngineJobFactory engineJobFactory) {
this.cache = cache;
this.diskCache = diskCache;
......@@ -82,7 +82,7 @@ public class Engine implements EngineJobListener, MemoryCache.ResourceRemovedLis
this.jobs = jobs;
if (engineJobFactory == null) {
engineJobFactory = new EngineJobFactory(diskCacheService, resizeService, this);
engineJobFactory = new EngineJobFactory(diskCacheService, sourceService, this);
}
this.engineJobFactory = engineJobFactory;
......@@ -307,18 +307,18 @@ public class Engine implements EngineJobListener, MemoryCache.ResourceRemovedLis
// Visible for testing.
static class EngineJobFactory {
private final ExecutorService diskCacheService;
private final ExecutorService resizeService;
private final ExecutorService sourceService;
private final EngineJobListener listener;
public EngineJobFactory(ExecutorService diskCacheService, ExecutorService resizeService,
public EngineJobFactory(ExecutorService diskCacheService, ExecutorService sourceService,
EngineJobListener listener) {
this.diskCacheService = diskCacheService;
this.resizeService = resizeService;
this.sourceService = sourceService;
this.listener = listener;
}
public EngineJob build(Key key, boolean isMemoryCacheable) {
return new EngineJob(key, diskCacheService, resizeService, isMemoryCacheable, listener);
return new EngineJob(key, diskCacheService, sourceService, isMemoryCacheable, listener);
}
}
}
......@@ -46,7 +46,6 @@ class EngineJob implements EngineRunnable.EngineRunnableManager {
private volatile Future<?> future;
public EngineJob(Key key, ExecutorService diskCacheService, ExecutorService sourceService, boolean isCacheable,
EngineJobListener listener) {
this(key, diskCacheService, sourceService, isCacheable, listener, DEFAULT_FACTORY);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册