5.14.0
版本发布时间: 2022-11-08 22:51:21
SDWebImage/SDWebImage最新发布版本:5.19.7(2024-08-22 18:45:46)
See all tickets marked for the 5.14.0 release
Behavior Changes
- Introduce
SDWebImageContextImageDecodeOptions
, deprecateSDImageCoderWebImageContext
#3421 -
- Note the deprecated
SDImageCoderWebImageContext
is no longer used. Update your codebase to useSDWebImageContextImageDecodeOptions
to pass extra information from manager to coder. Loaded image will also store the same information inimage.sd_decodeOptions
- Note the deprecated
- Refactor the hack when multiple different thumbnail image requests for same url called at the same time #3423
-
- Now the SDWebImageDownloader can callback each thumbnail request for same url with the correct image size as well (previously can't)
-
- Now if manager's callback image is thumbnail (
image.sd_isThumbnail == YES
), or transformed (image.sd_isTransformed == YES
), the callback data will be nil. This because the image does not match downloaded data actually. If you really need original full size data, query the disk cache again using the original key. You may needSDWebImageWaitStoreCache
options as well. (previously behavior is undefined, may callback with full size data, or encoded small size data, or even nil)
- Now if manager's callback image is thumbnail (
Features
Coder
- Support use url.path or custom UTI hint passed to ImageIO, solve the TIFF/NEF/SRW raw image decoding with wrong size #3419
-
- Note from 5.14.0, we may pass the file extension to coder as a UTI hint
- Added
SDImageCoderDecodeUseLazyDecoding
to control whether to use lazy-decoding for ImageIO #3425 -
- Note from 5.14.0, by default we enable lazy decoding for static image coder, disable lazy decoding for animated image coder, suitable for most cases. If you want, pass
.decodeUseLazyDecoding = YES
to context option.imageDecodeOptions
- Note from 5.14.0, by default we enable lazy decoding for static image coder, disable lazy decoding for animated image coder, suitable for most cases. If you want, pass
Performance
- Introduce new workaround to strip CGImage retained CGImageSource on iOS 15 #3425 #3387
-
- Note this also fix the limitation that you can not use lazy-decoding for animated image on iOS 15+. Pass
.decodeUseLazyDecoding = YES
to context option.imageDecodeOptions
- Note this also fix the limitation that you can not use lazy-decoding for animated image on iOS 15+. Pass
- Replace conformsToProtocol call with appropriate respondsToSelector check to improve performance #3429 Thanks @timonus
- Fix del redundant autoreleasepool #3388 Thanks @dongranGG
Fixes
- Avoid store again when origin disk cache hit during Thumbnail or Transformer with smaller pixel size #3428 #3395
- Add the possible nullable logic check when the force-decode/copy failed #3427