Skip to content

Performance improvements

Compare
Choose a tag to compare
@davemorrissey davemorrissey released this 02 Dec 09:26
· 47 commits to master since this release

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 of BitmapRegionDecoder instances to allow for parallel decoding when combined with a multi-threaded executor.