Skip to content

FFImageLoading 2.1

Compare
Choose a tag to compare
@molinch molinch released this 18 May 20:49
· 1198 commits to master since this release

Complete history of changes available here: v2.0.7...v2.1

This release contains a couple of breaking changes.

Breaking changes:

  • All obsolete methods have now been removed. New methods have similar names so it is easy to update your code.
  • Disk cache implementation moved from journal based to file system only (SimpleDiskCache). This change means that any cached content will have to be redownloaded. The path to cached data also changed, you might want to remove the old data.
  • Config.MaxCacheSize has been renamed to Config.MaxMemoryCacheSize
  • ImageService no longer offers static methods, instead of ImageService.xxx you should now use ImageService.Instance.xxx. Example: ImageService.LoadUrl() becomes ImageService.Instance.LoadUrl()
  • ImageService methods can be called from Xamarin Forms now and the API is much more consistent: same methods from iOS/Android/WP/Xamarin Forms. As such some CachedImage static methods have been removed:
    • ClearCacheAsync
    • SetPauseWork
    • DownloadImageAndAddToDiskCache
    • Equivalent methods are now in ImageService.Instance.xxx

New functionalities

  • Preload: when true the image is downloaded & cached. Nothing else happens.
  • Prioritization: it is now possible to define which images should be loaded first. Either enum based, with LoadingPriority, or int based.
  • Skip caching: memory cache, disk cache or both can be skipped. It allows downloading an image and assigning it directly to a view without caching (thanks @eladmarg !)
  • Delay: tasks can now be delayed. For example: it is now possible to start them after 100ms while scrolling.

Other

  • FFImageLoading now uses targets rather than specific views, a target receives the bitmap data and uses it, it allows more fine control of the data and how to use it. This is used to implement Preload.
  • MvvmCross bindable ImageView is now part of the standard nuget package. (thanks for your help @xleon !)
  • Few scheduler changes
  • A couple of extra checks (null, target valid, ...)
  • CropTransformation sample update to add pan/pinch gestures (thanks @phazlett !)
  • Windows Nuget package has been merged into the others. (thanks @ravensorb !)