public class Engine extends Object implements MemoryCache.ResourceRemovedListener
Modifier and Type | Class and Description |
---|---|
static class |
Engine.LoadStatus
Allows a request to indicate it no longer is interested in a given load.
|
Constructor and Description |
---|
Engine(MemoryCache memoryCache,
DiskCache.Factory diskCacheFactory,
GlideExecutor diskCacheExecutor,
GlideExecutor sourceExecutor,
GlideExecutor sourceUnlimitedExecutor,
GlideExecutor animationExecutor,
boolean isActiveResourceRetentionAllowed) |
Modifier and Type | Method and Description |
---|---|
void |
clearDiskCache() |
<R> Engine.LoadStatus |
load(GlideContext glideContext,
Object model,
Key signature,
int width,
int height,
Class<?> resourceClass,
Class<R> transcodeClass,
Priority priority,
DiskCacheStrategy diskCacheStrategy,
Map<Class<?>,Transformation<?>> transformations,
boolean isTransformationRequired,
boolean isScaleOnlyOrNoTransform,
Options options,
boolean isMemoryCacheable,
boolean useUnlimitedSourceExecutorPool,
boolean useAnimationPool,
boolean onlyRetrieveFromCache,
ResourceCallback cb)
Starts a load for the given arguments.
|
void |
onEngineJobCancelled(com.bumptech.glide.load.engine.EngineJob<?> engineJob,
Key key) |
void |
onEngineJobComplete(com.bumptech.glide.load.engine.EngineJob<?> engineJob,
Key key,
com.bumptech.glide.load.engine.EngineResource<?> resource) |
void |
onResourceReleased(Key cacheKey,
com.bumptech.glide.load.engine.EngineResource<?> resource) |
void |
onResourceRemoved(Resource<?> resource) |
void |
release(Resource<?> resource) |
void |
shutdown() |
public Engine(MemoryCache memoryCache, DiskCache.Factory diskCacheFactory, GlideExecutor diskCacheExecutor, GlideExecutor sourceExecutor, GlideExecutor sourceUnlimitedExecutor, GlideExecutor animationExecutor, boolean isActiveResourceRetentionAllowed)
public <R> Engine.LoadStatus load(GlideContext glideContext, Object model, Key signature, int width, int height, Class<?> resourceClass, Class<R> transcodeClass, Priority priority, DiskCacheStrategy diskCacheStrategy, Map<Class<?>,Transformation<?>> transformations, boolean isTransformationRequired, boolean isScaleOnlyOrNoTransform, Options options, boolean isMemoryCacheable, boolean useUnlimitedSourceExecutorPool, boolean useAnimationPool, boolean onlyRetrieveFromCache, ResourceCallback cb)
Must be called on the main thread.
The flow for any request is as follows:
Active resources are those that have been provided to at least one request and have not yet been released. Once all consumers of a resource have released that resource, the resource then goes to cache. If the resource is ever returned to a new consumer from cache, it is re-added to the active resources. If the resource is evicted from the cache, its resources are recycled and re-used if possible and the resource is discarded. There is no strict requirement that consumers release their resources so active resources are held weakly.
width
- The target width in pixels of the desired resource.height
- The target height in pixels of the desired resource.cb
- The callback that will be called when the load completes.public void release(Resource<?> resource)
public void onEngineJobComplete(com.bumptech.glide.load.engine.EngineJob<?> engineJob, Key key, com.bumptech.glide.load.engine.EngineResource<?> resource)
public void onEngineJobCancelled(com.bumptech.glide.load.engine.EngineJob<?> engineJob, Key key)
public void onResourceRemoved(@NonNull Resource<?> resource)
onResourceRemoved
in interface MemoryCache.ResourceRemovedListener
public void onResourceReleased(Key cacheKey, com.bumptech.glide.load.engine.EngineResource<?> resource)
public void clearDiskCache()
public void shutdown()