Version 0.11.0
- Image pipeline
- Split out ImagePipelineExperiments from ImagePipelineConfig
- Volley is now integrated as a backend for the image pipeline as an alternative to OkHttp or HttpUrlConnection
- Resumed requests occur in their original order
- Fixed a bug where the OkHttp backend could leak non-successful responses
- Cache
- Added details of each event to CacheEventListener methods
- Added caller context as a parameter for CacheKeyFactory methods
- Added support for synchronous disk cache checks
- Drawee
- Added support for the hotspot so ripple drawables work as expected in Lollipop and up.
- GenericDraweeHierarchy now has setter methods supporting resource IDs
- Fixed drawee scale type transitions when using activity transitions
- Added support for dynamically changing backgrounds and overlays
- Samples
- Improved gesture handling in the zoomable sample code
- Added a new sample app to test scroll performance
- Also
- Changed Bolts dependency to the smaller Tasks module
- And a variety of other fixes and improvements
Breaking changes
Experimental config options
To make it clearer which options in ImagePipelineConfig
are included for experimental purposes, these have been moved into a separate ImagePipelineExperiments
class. Options here should be expected to be volatile and liable to be changed or removed in future releases. Changing these values from their defaults is not recommended in most cases.
These methods are still available in a chain while building your config so if you had the following before:
ImagePipelineConfig config = ImagePipelineConfig.newBuilder(context)
.setForceSmallCacheThresholdBytes(maxSmallImageBytes)
you can fix it by changing it as follows:
ImagePipelineConfig config = ImagePipelineConfig.newBuilder(context)
.experiment().setForceSmallCacheThresholdBytes(maxSmallImageBytes)
CacheEventListener
All CacheEventListener
methods now receive a new CacheEvent
object.
If you have a custom implementation you will need to add the extra parameter to each method. In the case of onEviction()
the old parameters have been replaced so you will also need to extract the values from the event if you are making use of them.
CacheKeyFactory
All CacheKeyFactory
methods now receive an extra parameter with the caller context object that can be specified when the image is requested.
If you have a custom implementation you will simply need to add the extra parameter to each method.
Multiple drawee backgrounds
It was previously possible to specify multiple backgrounds in a drawee hierarchy. This is still possible but deprecated and if you specify multiple backgrounds these can no longer be rounded.
Thanks
Thanks to the following for their pull requests which are included in this release: @chethann, @droidekas, @sagartrehan, @froxCZ, @nborodikhin, @Ribesg, @dmitrychistyakov, @plamenko, @szpnygo, @s1rius and @Rexee.