load

open fun <R> load(    glideContext: GlideContext,     model: Any,     signature: Key,     width: Int,     height: Int,     resourceClass: Class<out Any>,     transcodeClass: Class<R>,     priority: Any,     diskCacheStrategy: DiskCacheStrategy,     transformations: Map<Class<out Any>, Transformation<out Any>>,     isTransformationRequired: Boolean,     isScaleOnlyOrNoTransform: Boolean,     options: Options,     isMemoryCacheable: Boolean,     useUnlimitedSourceExecutorPool: Boolean,     useAnimationPool: Boolean,     onlyRetrieveFromCache: Boolean,     cb: ResourceCallback,     callbackExecutor: Executor): Engine.LoadStatus

Starts a load for the given arguments.

Must be called on the main thread.

The flow for any request is as follows:

  • Check the current set of actively used resources, return the active resource if present, and move any newly inactive resources into the memory cache.
  • Check the memory cache and provide the cached resource if present.
  • Check the current set of in progress loads and add the cb to the in progress load if one is present.
  • Start a new load.

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.

Parameters

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.