All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.bumptech.glide.load.engine.Resource Maven / Gradle / Ivy

Go to download

A fast and efficient image loading library for Android focused on smooth scrolling.

There is a newer version: 5.0.0-rc01
Show newest version
package com.bumptech.glide.load.engine;


/**
 * A resource interface that wraps a particular type so that it can be pooled and reused.
 *
 * @param  The type of resource wrapped by this class.
 */
public interface Resource {

  /**
   * Returns the {@link Class} of the wrapped resource.
   */
  Class getResourceClass();

  /**
   * Returns an instance of the wrapped resource.
   *
   * 

Note - This does not have to be the same instance of the wrapped resource class and in fact * it is often appropriate to return a new instance for each call. For example, * {@link android.graphics.drawable.Drawable Drawable}s should only be used by a single * {@link android.view.View View} at a time so each call to this method for Resources that wrap * {@link android.graphics.drawable.Drawable Drawable}s should always return a new * {@link android.graphics.drawable.Drawable Drawable}.

*/ Z get(); /** * Returns the size in bytes of the wrapped resource to use to determine how much of the memory * cache this resource uses. */ int getSize(); /** * Cleans up and recycles internal resources. * *

It is only safe to call this method if there are no current resource consumers and if this * method has not yet been called. Typically this occurs at one of two times: *

    *
  • During a resource load when the resource is transformed or transcoded before any consumer * have ever had access to this resource
  • *
  • After all consumers have released this resource and it has been evicted from the cache *
  • *
* * For most users of this class, the only time this method should ever be called is during * transformations or transcoders, the framework will call this method when all consumers have * released this resource and it has been evicted from the cache.

*/ void recycle(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy