public class BitmapResource extends Object implements Resource<Bitmap>, Initializable
Bitmap
object.Constructor and Description |
---|
BitmapResource(Bitmap bitmap,
BitmapPool bitmapPool) |
Modifier and Type | Method and Description |
---|---|
Bitmap |
get()
Returns an instance of the wrapped resource.
|
Class<Bitmap> |
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 BitmapResource |
obtain(Bitmap bitmap,
BitmapPool bitmapPool)
Returns a new
BitmapResource wrapping the given Bitmap if the Bitmap is
non-null or null if the given Bitmap is null. |
void |
recycle()
Cleans up and recycles internal resources.
|
public BitmapResource(Bitmap bitmap, BitmapPool bitmapPool)
@Nullable public static BitmapResource obtain(@Nullable Bitmap bitmap, BitmapPool bitmapPool)
BitmapResource
wrapping the given Bitmap
if the Bitmap is
non-null or null if the given Bitmap is null.bitmap
- A Bitmap.bitmapPool
- A non-null BitmapPool
.public Class<Bitmap> getResourceClass()
Resource
Class
of the wrapped resource.getResourceClass
in interface Resource<Bitmap>
public Bitmap get()
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,
Drawable
s should only be used by a single
View
at a time so each call to this method for Resources that wrap
Drawable
s should always return a new
Drawable
.
public int getSize()
Resource
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:
public void initialize()
Initializable
Resource
can do some eager initialization.initialize
in interface Initializable