public class BitmapDrawableResource extends DrawableResource<BitmapDrawable> implements Initializable
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.
drawable
Constructor and Description |
---|
BitmapDrawableResource(BitmapDrawable drawable,
BitmapPool bitmapPool) |
Modifier and Type | Method and Description |
---|---|
Class<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.
|
get
public BitmapDrawableResource(BitmapDrawable drawable, BitmapPool bitmapPool)
@NonNull public Class<BitmapDrawable> getResourceClass()
Resource
Class
of the wrapped resource.getResourceClass
in interface Resource<BitmapDrawable>
public int getSize()
Resource
getSize
in interface Resource<BitmapDrawable>
public void recycle()
Resource
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:
recycle
in interface Resource<BitmapDrawable>
public void initialize()
Initializable
Resource
can do some eager initialization.initialize
in interface Initializable
initialize
in class DrawableResource<BitmapDrawable>