public interface ImageRegionDecoder
BitmapRegionDecoder
based on the Skia library to be replaced with a custom class.Modifier and Type | Method and Description |
---|---|
Bitmap |
decodeRegion(Rect sRect,
int sampleSize)
Decode a region of the image with the given sample size.
|
Point |
init(Context context,
Uri uri)
Initialise the decoder.
|
boolean |
isReady()
Status check.
|
void |
recycle()
This method will be called when the decoder is no longer required.
|
Point init(Context context, Uri uri) throws Exception
file:///scard/picture.jpg
file:///android_asset/picture.png
android.resource://com.example.app/drawable/picture
context
- Application context. A reference may be held, but must be cleared on recycle.uri
- URI of the image.Exception
- if initialisation fails.Bitmap decodeRegion(Rect sRect, int sampleSize)
Decode a region of the image with the given sample size. This method is called off the UI
thread so it can safely load the image on the current thread. It is called from
AsyncTask
s running in an executor that may have multiple threads, so
implementations must be thread safe. Adding synchronized
to the method signature
is the simplest way to achieve this, but bear in mind the recycle()
method can be
called concurrently.
See SkiaImageRegionDecoder
and SkiaPooledImageRegionDecoder
for examples of
internal locking and synchronization.
sRect
- Source image rectangle to decode.sampleSize
- Sample size.boolean isReady()
void recycle()