Skip to content

Version 0.11.0

Compare
Choose a tag to compare
@kirwan kirwan released this 14 Jun 20:21
  • 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.