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) |
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(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) |
public Engine(MemoryCache memoryCache, DiskCache.Factory diskCacheFactory, GlideExecutor diskCacheExecutor, GlideExecutor sourceExecutor, GlideExecutor sourceUnlimitedExecutor, GlideExecutor animationExecutor)
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)
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(Key key, com.bumptech.glide.load.engine.EngineResource<?> resource)
public void onEngineJobCancelled(com.bumptech.glide.load.engine.EngineJob engineJob, Key key)
public void onResourceRemoved(Resource<?> resource)
onResourceRemoved
in interface MemoryCache.ResourceRemovedListener
public void onResourceReleased(Key cacheKey, com.bumptech.glide.load.engine.EngineResource resource)
public void clearDiskCache()