T- The type the resource will be decoded from (File, InputStream etc).
Z- The type of the decoded resource (Bitmap, Drawable etc).
public interface ResourceDecoder<T,Z>
|Modifier and Type||Method and Description|
Returns a decoded resource from the given data or null if no resource could be decoded.
Returns an ID identifying any transformation this decoder may apply to the given data that will be mixed in to the cache key.
Resource<Z> decode(T source, int width, int height) throws IOException
source is managed by the caller, there's no need to close it.
Resource will be
released when the engine sees fit.
Note - The
height arguments are hints only,
there is no requirement that the decoded resource exactly match the given dimensions.
A typical use case would be to use the target dimensions to determine
how much to downsample Bitmaps by to avoid overly large allocations.
source- The data the resource should be decoded from.
width- The ideal width in pixels of the decoded resource, or
Target.SIZE_ORIGINALto indicate the original resource width.
height- The ideal height in pixels of the decoded resource, or
Target.SIZE_ORIGINALto indicate the original resource height.
If the decoder does not transform the data in a way that significantly affects the cached result (ie performs no downsampling) an empty string is an appropriate id.