PINRemoteImageManager is an image downloading, processing and caching manager. It uses the concept of download and processing tasks to ensure that even if multiple calls to download or process an image are made, it only occurs one time (unless an item is no longer in the cache). PINRemoteImageManager is backed by GCD and safe to access from multiple threads simultaneously. It ensures that images are decoded off the main thread so that animation performance isn't affected. None of its exposed methods allow for synchronous access. However, it is optimized to call completions on the calling thread if an item is in its memory cache. PINRemoteImage supports downloading many types of files. It, of course, supports both PNGs and JPGs. It also supports decoding WebP images if Google's library is available. It even supports GIFs and Animated WebP via PINAnimatedImageView. PINRemoteImage also has two methods to improve the experience of downloading images on slow network connections.
Features
- Defines a protocol which UIView subclasses can implement and provide easy access to PINRemoteImageManager's methods
- There are built-in categories on UIImageView
- Easy to implement a new category
- Download an image and set it on an image view
- Download a progressive jpeg and get attractive blurred updates
- Download a GIF and display with PINAnimatedImageView