-
…so cleaning the schemes that have built that. The problem now with Xcode 9 is that those targets already contain the libwebp and FLAnimatedImage files, Xcode will not rebuild the framework from the proper sources and then we will have duplicate symbols with the libwebp and FLAnimatedImage files that are also compiled by CocoaPods separately.
-
Give back our GIF category animation support since we now use plugin coders
-
…s will not affect FLAnimatedImageView which just create the first frame. 1. Change default coders to [IOCoder, WebPCoder] 2. Add back our previous GIF decoding code, with loop count support 3. Add GIF encoding code for animation 4. Modify IOCoder for GIF format because FLAnimatedImageView need just use the first frame
-
Feature: refactor decoding code and provide decoding plugin
-
- open the decoding/encoding procedures to the users - switch from hardcoded decoding/encoding to pluginable decoders/encoders (builtin + user created) - `SDWebImageCodersManager` is a singleton holding an array of `SDImageCoder` (protocol). Even though a singleton is not necesarily a good pattern, in this case it eliminates dealing with passing this array around - uses a priority queue behind scenes, which means the latest added coders have priority. - the priority is crucial when encoding/decoding something, we go through the list and ask each coder if they can handle the current data (see `canDecodeFromData:`, `canEncodeToFormat:`, `canIncrementallyDecodeFromData:`) - each coder must conform to this protocol `SDImageCoder` describing all the required behavior for a coder - we provide 3 built-in coders: `SDWebImageImageIOCoder` (for JPEG, PNG, TIFF), `SDWebImageGIFCoder` (for GIF), `SDWebImageWebPCoder` (for WebP and animated WebP) - the user of SDWebImage can create custom coders by conforming to `SDImageCoder` and adding the coders to `SDWebImageCodersManager`. See `addCoder:` or `removeCoder:` or `coders` getter to get the array - in order to preserve backwards compatibility, the UIImage categories were preserved, calling the new coders APIs described above
-
Change finished check from equal to equal or greater than to protect …
-
Static WebP decoding a little enhancement. Do not need create WebP it…
-
Fix SDWebImageDownloaderOperation not call done when use SDWebImageDownloaderIgnoreCachedResponse
-
Fix SDWebImage v4 can not import libwebp framework's header files.
-
Adopt the previous version behavior about SDWebImageDownloaderIgnoreC…
-
Fix FLAnimatedImageView mixed local and global import
-
…se and SDWebImageRefreshCached without hack code
-
Use CGImageSourceCreateIncremental to perform progressive decoding in…
-
Set UIButton's placeholer-image even if the url is nil
-
Performance enhancement related to single WebP and animated WebP decoding...
-
…code partial data each time from the beginning to improve performance and remove that gray background
-
1. Change the code to not decode WebP images created in SD because it has been decoded 2. Add @autoreleasepool for animated WebP decoding do-while loop to reduce memory peak
-
Fix SDWebImageDownloadOperation imageData multi-thread issue.
-
Update macOS Demo deployment target to 10.10 to support build on Xcode 9
-
Add a test for SDWebImageRefreshCached
-
Fix `Other Linker Flags` images
-
Fix clang strict prototype warning in test
-
Fix request cache policy
-
…afe issue. Also, ensure imageData in completion block is immutable to avoid accident modification from the other queue