Performance improvements
This release contains breaking changes. If you use a custom ImageRegionDecoder, changes may be required to make it thread safe. For full details see the migration guide.
These changes are discussed on #120.
- Replaced
setParallelLoadingEnabled
with an option to supply a custom executor -setExecutor(Executor)
. - Made
AsyncTask.THREAD_POOL_EXECUTOR
the default, to reduce contention with other background tasks. - Removed synchronization of
ImageRegionDecoder.decodeRegion
calls to allow for parallel decoding by decoders that support it. - Tiles are now loaded during gestures and animations instead of waiting until they end. This can be disabled with
setEagerLoadingEnabled(false)
- Added experimental class
SkiaPooledImageRegionDecoder
which maintains a small pool ofBitmapRegionDecoder
instances to allow for parallel decoding when combined with a multi-threaded executor.