Class LazyBitmapDrawableResource

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

    public final class LazyBitmapDrawableResource
    extends java.lang.Object
    implements Resource<android.graphics.drawable.BitmapDrawable>, Initializable
    Lazily allocates a BitmapDrawable from a given Bitmap on the first call to get().
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      android.graphics.drawable.BitmapDrawable get()
      Returns an instance of the wrapped resource.
      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.
      static LazyBitmapDrawableResource obtain​(android.content.Context context, android.graphics.Bitmap bitmap)
      Deprecated.
      Use obtain(Resources, Resource) instead, it can be unsafe to extract Bitmaps from their wrapped Resource.
      static LazyBitmapDrawableResource obtain​(android.content.res.Resources resources, BitmapPool bitmapPool, android.graphics.Bitmap bitmap)
      Deprecated.
      Use obtain(Resources, Resource) instead, it can be unsafe to extract Bitmaps from their wrapped Resource.
      static Resource<android.graphics.drawable.BitmapDrawable> obtain​(android.content.res.Resources resources, Resource<android.graphics.Bitmap> bitmapResource)  
      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
    • Method Detail

      • obtain

        @Nullable
        public static Resource<android.graphics.drawable.BitmapDrawable> obtain​(@NonNull
                                                                                android.content.res.Resources resources,
                                                                                @Nullable
                                                                                Resource<android.graphics.Bitmap> bitmapResource)
      • 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>
      • get

        @NonNull
        public android.graphics.drawable.BitmapDrawable get()
        Description copied from interface: Resource
        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, Drawables should only be used by a single View at a time so each call to this method for Resources that wrap Drawables should always return a new Drawable.

        Specified by:
        get 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>
      • initialize

        public void initialize()
        Description copied from interface: Initializable
        Called on a background thread so the Resource can do some eager initialization.
        Specified by:
        initialize in interface Initializable