Class BitmapDrawableResource

  • All Implemented Interfaces:
    Initializable, Resource<android.graphics.drawable.BitmapDrawable>

    public class BitmapDrawableResource
    extends DrawableResource<android.graphics.drawable.BitmapDrawable>
    implements Initializable
    A Resource that wraps an BitmapDrawable

    This class ensures that every call to DrawableResource.get()} always returns a new BitmapDrawable to avoid rendering issues if used in multiple views and is also responsible for returning the underlying Bitmap to the given BitmapPool when the resource is recycled.

    • Constructor Summary

      Constructors 
      Constructor Description
      BitmapDrawableResource​(android.graphics.drawable.BitmapDrawable drawable, BitmapPool bitmapPool)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Class<android.graphics.drawable.BitmapDrawable> getResourceClass()
      Returns the Class of the wrapped resource.
      int getSize()
      Returns the size in bytes of the wrapped resource to use to determine how much of the memory cache this resource uses.
      void initialize()
      Called on a background thread so the Resource can do some eager initialization.
      void recycle()
      Cleans up and recycles internal resources.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • BitmapDrawableResource

        public BitmapDrawableResource​(android.graphics.drawable.BitmapDrawable drawable,
                                      BitmapPool bitmapPool)
    • Method Detail

      • getResourceClass

        @NonNull
        public java.lang.Class<android.graphics.drawable.BitmapDrawable> getResourceClass()
        Description copied from interface: Resource
        Returns the Class of the wrapped resource.
        Specified by:
        getResourceClass in interface Resource<android.graphics.drawable.BitmapDrawable>
      • getSize

        public int getSize()
        Description copied from interface: Resource
        Returns the size in bytes of the wrapped resource to use to determine how much of the memory cache this resource uses.
        Specified by:
        getSize in interface Resource<android.graphics.drawable.BitmapDrawable>
      • recycle

        public void recycle()
        Description copied from interface: Resource
        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.
        Specified by:
        recycle in interface Resource<android.graphics.drawable.BitmapDrawable>