Skip to content

FFImageLoading 2

Compare
Choose a tag to compare
@molinch molinch released this 19 Dec 19:27
· 1570 commits to master since this release

Complete history of changes available here: v1.1.7...v2

Better Xamarin.Forms support & Windows Phone

This version brings support for Windows Phone (WinRT, UWP) and drastically improves Xamarin.Forms support.
Samples have also been reworked and demonstrate most features.

Better bitmap cache & pool

Android bitmap cache and bitmap pool has been highly reworked based on https://github.com/rdio/tangoandcache
Benefits: fewer memory allocations, fewer garbage collections, and it fixes an issue where recycled bitmaps were reused. 25c96f7

Issues fixed

  • #55, #58, #60, #61, #63, #67, #91
  • A couple of potential issues are fixed by checks & locks
  • WebP images, on iOS, used to skip transformations b656ede

Transformations

Keep source image format

If the source image does not have transparency then the transformed image will be so too. #84
Remark: some transformations require transparency, ie: CircleTransformation, in this case it is automatically added.

New transformations

A lot of new transformations have been added

  • FlipTransformation
  • CornersTransformation
  • CropTransformation
  • RotateTransformation

Other

Better usage of web streams

There is a lock when decoding images to minimize the OutOfMemory exceptions while decoding. Therefore this lock is detrimental for performance with web streams. Hence it has been removed in that case. d2b5cee

DownSample on iOS

Reducing image size is now also working on iOS. This allows reducing memory usage.

Cache control

It is now possible to invalide the memory cache or disk cache.

Load from stream

The image can be loaded from an existing Stream. In this case the image is not cached in memory.
Please note that the Stream is automatically closed.

ImageService.LoadStream(originalStream).Into(_imageView);

Cancellation does not log

Cancelled tasks are no longer logging to the console. This was causing a lot of undesired extra output. #68