Commit Graph

1949 Commits

Author SHA1 Message Date
DreamPiggy 1b086711ae Fix the issue because of main queue label hack 2023-01-09 22:08:48 +08:00
DreamPiggy 43d74211c3 Added test case `testSDCallbackQueue` 2023-01-09 22:08:48 +08:00
DreamPiggy 90eeb4d830 Deprecate SDWebImagePrefetcher.delegateQueue, translate to use context[SDWebImageContextCallbackQueue] instead 2023-01-09 18:06:14 +08:00
DreamPiggy 5a4b4cf16d Change the asyncSafe to the queue level configuration, introduce SDCallbackPolicy 2023-01-09 18:06:14 +08:00
DreamPiggy 67520b9f55 Fix the new added storeCache API which passing callbackQueue 2023-01-06 19:49:35 +08:00
DreamPiggy fdd9a98210 Do not check nil block, useless in our use case 2023-01-06 19:36:03 +08:00
DreamPiggy 57403c9d3f Rename to use `dispatch_block_t` alias 2023-01-06 19:09:39 +08:00
DreamPiggy b5d712a378 Implements the Callback queue dispatch
Fix some missing components
2023-01-06 18:52:31 +08:00
DreamPiggy 43ec4726e1 Added context option `callbackQueue` for advanced user to control which queue to callback
This is used for user who call SDWebImage outside from main queue and need precise queue control, such as avoid chain queue blocking (like AVKit lazy load)
2023-01-04 18:47:50 +08:00
DreamPiggy 8be9f2c3f9
Merge pull request #3461 from dreampiggy/bugfix/yuv420_jpeg_hevc
Fix the iOS 15+ force-decode hack break Apple's HEIF and JPEG YUV420 optimization
2022-12-27 19:57:48 +08:00
DreamPiggy d2221403e1 Removed the unused options for CGImageSourceCopyPropertiesAtIndex 2022-12-27 19:55:12 +08:00
DreamPiggy a99c0de68d Fix the iOS 15+ force-decode hack break Apple's HEIF and JPEG YUV420 optimization
The lazyDecode logic effect the static image as well. Should roll back and only check for animated image
2022-12-27 18:58:21 +08:00
DreamPiggy c60e6714dd Added `ioQueueAttributes` to use concurrent or control QoS for image cache internal IO Queue 2022-12-27 17:24:07 +08:00
DreamPiggy 0274aa85fe
Merge pull request #3452 from kinarobin/fetch-frame-early-for-animated-image-render
[Performance]when frame timestamp not reached, we should prefetch frame in advance for image render.
2022-12-27 16:51:54 +08:00
DreamPiggy 717461459f Hack the first frame to ensure it always displayed in first screen refresh 2022-12-26 19:05:39 +08:00
DreamPiggy b5db7fac68 The poster image should not trigger a frameChange callback 2022-12-26 18:53:55 +08:00
kinarobin a15f594869 prefetch image in advance 2022-12-02 21:24:36 +08:00
DreamPiggy 9c0c715d6a Move the SD_CHECK_CGIMAGE_RETAIN_SOURCE assertion to SDWebImage Demo and Tests only
This does not effects user who use this framework, only useful for ourselves to ensure Apple does not break our code
2022-11-14 17:07:29 +08:00
DreamPiggy 736f3f41f7 Move block before sending to the main queue
This can avoid some life cycle issue and increase performance
2022-11-11 14:29:20 +08:00
DreamPiggy 384b2d7c8b Fix the missing lock for callbackTokens which may cause thread-safe issue 2022-11-11 14:22:49 +08:00
DreamPiggy 30f165abd5 Change from instance method to class method 2022-11-11 00:07:32 +08:00
DreamPiggy f4706453d6 Use CoreGraphics to decode PDF instead of ImageIO to solve iOS 16's issue
We no longer use ImageIO to decode PDF, seems they don't maintain that kSDCGImageSourceRasterizationDPI
Copy the code from SDWebImagePDFCoder, need to update
2022-11-10 23:54:14 +08:00
DreamPiggy d96ea392d1 Fix the iOS 12 crash because the underlyingQueue is nil
Use NSOperation dependency to solve this issue
2022-11-10 22:03:12 +08:00
DreamPiggy bfa91a291b Added the helper convenient API `sd_isThumbnail`
Fix the metadata does not saved
2022-11-08 22:40:36 +08:00
DreamPiggy 03b46475eb Revert #2792, the autoreleasepool does not solve the issue 2022-11-08 21:49:26 +08:00
DreamPiggy 6ce59aa8c1
Merge pull request #3429 from dreampiggy/perf/remove_conforms_to_protocol
Replace conformsToProtocol call with appropriate respondsToSelector check to improve performance
2022-11-08 21:44:07 +08:00
DreamPiggy 7ddf3214e6 Fix the test case again on below iOS 15 2022-11-08 21:18:20 +08:00
DreamPiggy 9aa27b61e8 Replace conformsToProtocol call with appropriate respondsToSelector check
This effect API called with multiple times, for some one-time setup and important check, the conformsToProtocol is remained
2022-11-08 20:04:15 +08:00
DreamPiggy 359036eae9
Merge pull request #3428 from dreampiggy/opt/avoid_store_again_when_origin_disk_exits
Avoid store again when origin disk cache hit during Thumbnail or Transformer with smaller pixel size
2022-11-08 19:16:05 +08:00
riv1r 9599a78ff9
Fix del redundant autoreleasepool (#3388)
* fix:del redundant autoreleasepool, because frameProperties is not a __autoreleasing reference object, for-Loop does not cause untimely release

* fix:del redundant autoreleasepool, because frame is strongly referenced by frames, for-Loop does not cause untimely release

* fix:del redundant autoreleasepool, because sourceTileImageRef is released by CGImageRelease, for-Loop does not cause untimely release

Co-authored-by: chendongran06039 <chendongran06039@hellobike.com>
Co-authored-by: DreamPiggy <lizhuoli1126@126.com>
2022-11-08 17:29:49 +08:00
DreamPiggy f93cf96832 Avoid store original disk cache again when using thumbnail or transformer from the full size data
This solve #3395
2022-11-08 16:44:40 +08:00
DreamPiggy 0d1c603d50 Add the possible nullable logic check when the force-decode/copy failed 2022-11-08 16:19:49 +08:00
DreamPiggy c81aec4ccd Ignore the dynamic UTI type hint to avoid extra log 2022-11-08 16:15:25 +08:00
DreamPiggy 136d05fce8 Add extra check when user provide SDImageCoderDecodeUseLazyDecoding 2022-11-07 12:44:46 +08:00
DreamPiggy 3000dd5098 Fix the `sd_isDecoded` did not set after we use SDCGImageCreateCopy 2022-11-07 12:20:04 +08:00
DreamPiggy db25af9506 Recovery the assert check on only iPhone/TV simulator in debug mode 2022-11-07 12:10:22 +08:00
DreamPiggy abc06f020a Added `SDImageCoderDecodeUseLazyDecoding` to control whether to use lazy-decoding for ImageIO or not
Defaults to NO for animated image coder but YES for static image coder to match current behavior
This also use another way to solve iOS 15+'s CGImageGetImageSource issue
2022-11-07 12:10:22 +08:00
DreamPiggy 279f636ac5 Minor check the logic that UTI has high priority than path extension 2022-10-31 23:52:32 +08:00
DreamPiggy e3c6cfa066 Update test case to make clear that transformed image and thumbnailed image will callback without data 2022-10-31 23:52:32 +08:00
DreamPiggy 2fd75638fe Refactor the hack for multiple thumbnail image request at the same time
1. Put the hack logic into SDWebImageDownloadOperation, each different thumbnail image request will have its callback with desired size of image using different decoding call.
2. Progressive Thumbnail decoding (use together) does not have this behavior, because I think progressive thumbnail is really rare and tolerant, people just use the first thumbnail size image for preview and OK.
3. The manager logic refactor with separate steps, focus on clear to understand the complicated logic and maintainess
4. The thumbnail decode/transformed will callback valid image, but with nil data, this matches the behavior as wiki pages.
2022-10-31 23:52:32 +08:00
DreamPiggy 2f3652dc2e Feature: Introduce SDWebImageContextImageDecodeOptions, deprecate SDImageCoderWebImageContext
This can solve the retain cycle from the scratch, instead of hacking
2022-10-29 20:51:11 +08:00
DreamPiggy b014808ddd Merge branch '5.13.x' of github.com:SDWebImage/SDWebImage
# Conflicts:
#	SDWebImage/Core/SDImageCacheDefine.m
2022-10-29 20:40:00 +08:00
DreamPiggy 318cca556b Fix the issue that progressive decode logic does not get updated 2022-10-29 20:34:04 +08:00
DreamPiggy b46fe38c72 Quick fix the issue that UIImage.sd_decodeOptions cause retain cycle when pass custom cache in context option
Now the SDImageCoderWebImageContext does not pass the built-in options, only custom options will be passed, and deprecated in 5.14.0
2022-10-29 19:50:45 +08:00
DreamPiggy 8dd6e25cd8 Added NEF test case, as well as BMP type enum
The file extension hint works on iOS/macOS for current
2022-10-29 18:13:36 +08:00
DreamPiggy b1b16a17b3 Support use url.path or custom UTI hint passed to ImageIO, solve the TIFF/NEF/SRW raw image decoding with wrong size
This is because file extension will cause ImageIO use different codec, which does not support all of them without context
2022-10-27 11:11:28 +08:00
DreamPiggy 9b2ddc9ea8 [NFC] A little optimization for MutableArray creation 2022-09-26 17:38:37 +08:00
DreamPiggy 347cf1d1cc Fix the potential out of bounds crash for ImageIO incremental animation decoding (like GIF)
This patch from the SDWebImageWebPCoder/pull/68
2022-09-26 17:32:25 +08:00
DreamPiggy ea9f573744 Remove the temp assert code (for debugging usage) 2022-09-19 18:30:13 +08:00
DreamPiggy 89178a7d89 Update to force decode CGImage before any UIImage initialization on iOS 15+ 2022-09-19 18:30:13 +08:00
DreamPiggy 3994006cb4 Try to workaround iOS 15+ crash that CGImage retain the CGImageSource during animation image playing
This used to work on iOS 14
2022-09-19 18:30:13 +08:00
DreamPiggy 6b8075a2e1 Using the same synchornized to guard _cancelled status, which need recursive lock
DO NOT USE SD_LOCK (os_unfair_lock), which not support recursive
2022-09-19 17:33:04 +08:00
DreamPiggy ad592765cb Revert "Synchronise getter and setter of the cancelled property of the SDWebImageCombinedOperation in order to eliminate data race."
This reverts commit 5a18c84529.
2022-09-19 17:28:38 +08:00
DreamPiggy 61c3c5ba2d Fix the switching from animated image rendering to static image does not works on macOS 11+
We should always provide a fallback solution to handle built-in NSImageView logic
2022-09-19 16:27:21 +08:00
DreamPiggy 6eb74a177f Fix the unbalanced lock which cause crash 2022-09-19 12:05:41 +08:00
Alexander Gaidukov 5a18c84529 Synchronise getter and setter of the cancelled property of the SDWebImageCombinedOperation in order to eliminate data race. 2022-09-06 21:08:25 +07:00
DreamPiggy 7d7debbd26
Merge pull request #3380 from dreampiggy/bugfix_edge_case_cancel_cache_callback_twice
Fix the rare case when cancel an async disk cache query may cause twice callback
2022-07-23 23:04:55 +08:00
DreamPiggy 3d1197b820 When download start, mark the query cache operation finished to avoid bug behavior 2022-07-23 21:59:14 +08:00
DreamPiggy 0643cb81c3 Fix the rare case when cancel an async disk cache query may cause twice callback
One is sync and another is async
2022-07-23 21:15:00 +08:00
Andrew Monshizadeh 2bad528bfb
Fix pragma mark typo
Built and noticed this warning
```
external/SDWebImage/SDWebImage/Core/NSButton+WebCache.m:152:9: warning: unknown pragma ignored [-Wunknown-pragmas]
#pragma mar - Private
        ^
```
2022-07-22 21:49:09 -06:00
DreamPiggy 0757241822 Fix the clang analyze issue 2022-07-16 19:43:48 +08:00
DreamPiggy a88e669422 Added SDImageCoderDecodeSolutionAutomatic, which check image format as well
This avoid the unwanted CMPhoto log
2022-07-16 18:03:11 +08:00
DreamPiggy 213a8b8def Added `SDImageCoder.defaultDecodeSolution` to control the force decode solution, defaults to CoreGraphics (the same as 5.12)
For user who want new UIKit solution, you can opt-in to change the `defaultDecodeSolution` case
2022-07-16 18:03:11 +08:00
DreamPiggy ff6b3b9bb5 Change only ImageIO decoded CGImage should enter the `Force Decode` logic
Others coder, like WebP, should not use this approach
2022-07-16 18:03:11 +08:00
DreamPiggy 1ed76f4f47 Fix the bitmapInfo support for greyscale color, update test case 2022-07-16 17:43:48 +08:00
DreamPiggy 34236ac522 Fix sd_colorAtPoint and sd_colorsWithRect support for grayscale image (white and alpha)
This fix the test cases for #3368
2022-07-16 17:27:04 +08:00
DreamPiggy 2fe3879b15 Fix the case that provided DPI cause `kCGImagePropertyPixelWidth` return non-zero value
This will cause re-check thumbnail, and may result the wrong pixel size
2022-07-14 14:52:26 +08:00
DreamPiggy f1fe4ca8b8 Calculate the DPI based on PDF mediaBox, support thumbnailPixelSize
Move the vector code from ImageIOAnimatedCoder to ImageIOCoder, since it's not animatable :)
2022-07-13 18:18:21 +08:00
DreamPiggy f91d35ef8d Fix the PDF image without thumbnailPixelSize will result huge bitmap size, now fixed into 72 DPI matching PDFKit 2022-07-13 16:04:29 +08:00
DreamPiggy 3358859b46 Fix the issue when thumbnail first and full size loading at the same time, the thumbnail image will write to memory with wrong key
The disk cache key is correct and does not get effected by this issue
2022-06-27 02:17:48 +08:00
DreamPiggy ad953cdcc5 Fix the case when user cancel the image loading for same URL in sequence cause placeholder mass
This PR introduce 2 API changes:
1. Cache query now return cache token and callback sync when called from main queue, unlike NSOperation always callback async
2. Expose the set image operation, and update the documentation behavior about that `SDWebImageDelayPlaceholder`
2022-06-26 20:04:51 +08:00
DreamPiggy d58a1006c2
Merge pull request #3362 from dreampiggy/behavior_thumbnail_store_cache
Feature: Change thumbnail cache behavior as expected, share cache through different loading pipeline without extra download
2022-06-26 15:29:55 +08:00
DreamPiggy 071a8934e3 Fix the assert case when loader callback nil image data 2022-06-26 00:29:24 +08:00
DreamPiggy 31c4a09430 Fix one bug that callback the wrong cache type 2022-06-26 00:29:24 +08:00
DreamPiggy c47158362d Limit the re-deocde case only when image was downloaded, avoid when thumbnail hit cache 2022-06-26 00:29:24 +08:00
DreamPiggy ecac56b726 Use the new solution, store the original decode options, when multiple loading pipeline share the same URL callback, check it and re-decode if needed 2022-06-26 00:29:24 +08:00
DreamPiggy 911328c1b4 Fix the case when previous pipeline use thumbnail transformer use together, second pipeline use the full size loading 2022-06-23 19:37:47 +08:00
DreamPiggy 2c9290f109 Added sd_isThumbnail to mark metadata, avoid the case when full size image request re-use the image from thumbnail decoding for the same URL
I think this is a temp workaround
2022-06-23 19:19:23 +08:00
DreamPiggy e7e9268a7e Fix the case that query full size key with thumbnail, cause the write back of thumnail to memory cache with wrong key 2022-06-23 17:54:27 +08:00
DreamPiggy 613a2bf988 Opt the thumbnail cache behavior, now it prefers to store/query original data from disk, thumbnail image from memory
Separate the thumbnail from transformer, they are for different use case
2022-06-23 17:12:56 +08:00
DreamPiggy 1f3ee8e9d5 Added new API for custom coder better handling the thumbnail size
The current WebP/HEIF/AVIF coder both copy paste the same code multiple times and have to fix one by one
2022-06-22 16:53:40 +08:00
DreamPiggy fcb53cb5ff Fix the encodeMaxPixelSize logic
Allows user to provide size which one dimension is larger than image size size
Example - maxPixelSize: (200, 200), imageSize: (100, 400), result: (50, 200)
2022-06-20 18:12:09 +08:00
DreamPiggy 9362505aeb
Merge pull request #3336 from Insofan/feat/store_data
feat: store image data
2022-06-20 17:18:42 +08:00
DreamPiggy 8743cdd633
Merge pull request #3355 from dreampiggy/feature_support_uiimage_preparefordisplay
Support using iOS 15 UIImage new API imageByPreparingForDisplay for faster force decoding
2022-06-20 17:17:10 +08:00
DreamPiggy 9b9fc6fc9b Support using iOS 15 UIImage new API imageByPreparingForDisplay for faster force decoding
This API seems support both async/sync version, SD use sync version here because we already call them on global queue
The API mark available on watchOS, but header does not pass that __has_include, a little strange
2022-06-12 18:16:04 +08:00
DreamPiggy a66972bdc8
Update SDImageCache.m
Little logic check for nil value
2022-06-12 17:10:23 +08:00
DreamPiggy 754de4d7c8
Update SDImageCache.m
Remove extra toDisk param
2022-06-12 17:04:52 +08:00
DreamPiggy 2fc131c44b
Update SDImageCache.h
Remove extra toDisk param
2022-06-12 17:03:04 +08:00
DreamPiggy f90373ce14 Fix the thumbnail pixel size calculation when preserveAspectRatio is true 2022-06-12 16:32:33 +08:00
Andrew Monshizadeh c231320913 Include necessary CoreImage import 2022-06-07 14:33:18 -04:00
Tim Johnsen 484de40e3b Small performance improvement to generating file URLs in SDDiskCache -setData:forKey:. 2022-05-12 15:42:17 -07:00
Ethan Wong 30c9563511
Fix crash of accessing mainScreen from background thread on 10.11. 2022-04-02 15:12:57 +08:00
Inso 7c66265ee8 refactor: refactor store data to memory cache logic 2022-03-30 15:24:32 +08:00
Inso 6a2eaf707e feat: store image data 2022-03-28 12:41:22 +08:00
DreamPiggy 874b674cb6 Unify the colorspace on macOS/watchOS choosen for draw to use sRGB firstly
Remove the unused OS version check
2022-03-16 15:06:55 +08:00
DreamPiggy c0cc245632 Update AppKit SDGraphics convenient API to use main screen colorspace
Update macOS demo URL as well
2022-03-15 22:38:48 +08:00
DreamPiggy fce270631f Use RGBX8888 for non-alpha image force decoding, which workaround iOS 15+ issue 2022-03-15 22:22:08 +08:00
DreamPiggy 51d1b50ef4 Fix the false decode implementation using the ImageRenderer instead of directly create CGContext 2022-03-15 17:54:44 +08:00
DreamPiggy ba66c41fd6
Merge pull request #3332 from dreampiggy/workaround_prefer_input_cgimage_bitmap_info
Workaround the iOS 15+ Force Decode may return black image because of CoreGraphics
2022-03-08 15:17:04 +08:00
lizhuoli 6dcbec2b87 Update the test case and use Xcode 13.2.1 with iOS 15.3+ simulator 2022-03-04 11:37:44 +08:00
lizhuoli 1b0fdd8cb6 Fix the iOS 15+ draw image blank because that CoreGraphics may not transcode on BGRX8888 pixel format context 2022-03-03 20:49:57 +08:00
soondl 8445f2b1a7 Fix imageView blinks with option 'SDImageCacheQueryDiskDataSync' 2022-02-20 16:08:40 +09:00
ty0x2333 8ce13403bc Fix the bug that `decodedAndScaledDownImageWithImage` does not render the image completely due to the loss of precision. 2022-01-26 07:12:35 +08:00
zhuoyan cecc984e3f fix: Eliminates accumulated floating point errors. 2021-12-30 11:31:54 +08:00
Morgan Dock b02f6f9e45
Don't copy image data 2021-11-25 00:17:08 -06:00
lizhuoli 4274158949 Fix the support for `SDImageLoadersManager` for canRequest API check, should be compatible with both old and new API 2021-10-18 21:30:34 +08:00
kinarobin 7c62b2d9b3 remove useless import 2021-10-12 20:52:18 +08:00
Kinarobin e10c33bdd0
Merge pull request #3282 from kinarobin/fix-warning-in-uttype
Since `UTI` is an standard, we can use it directly to avoid warning on iOS 15
2021-10-12 20:48:36 +08:00
kinarobin 9148de2c07 add tvos check in targetTimestamp 2021-10-09 17:31:11 +08:00
Kinarobin 7425221108
Merge pull request #3281 from SDWebImage/revert-3276-fix-get-image-source-crash
Revert "Fix image source release in iOS 15"
2021-10-09 15:16:22 +08:00
kinarobin 25f9d15b57 fix warning in uttype for ios15 2021-10-07 18:15:59 +08:00
Kinarobin a3f5647517
Revert "Fix image source release in iOS 15" 2021-10-07 10:20:00 +08:00
Michael Thomas 0076d8c447 Add negative duration check for unit tests
- The new`targetTimestamp` property causes the duration to be a negative value during the unit tests. Added an additional check to handle this case.
2021-10-05 16:18:00 -04:00
Michael Thomas 19540b3596 Use targetTimestamp in SDDisplayLink 2021-10-05 15:51:36 -04:00
DreamPiggy e0b8bf97d0
Merge pull request #3277 from dreampiggy/fix_pixel_ratio_thumbnail_calculation
Fix pixel ratio thumbnail calculation
2021-09-30 17:41:18 +08:00
lizhuoli 8a13cbb68c Fix the pixel ratio calculation for thumbnail decoding 2021-09-30 17:39:13 +08:00
lizhuoli 894f061acc Fix compile issue 2021-09-30 17:37:17 +08:00
DreamPiggy 923e175326
Merge pull request #3258 from GetToSet/sdanimatedimagerep-copy-semantic
Make SDAnimatedImageRep confirms to correct copy semantic
2021-09-30 17:29:09 +08:00
DreamPiggy 922c126bbf
Merge pull request #3239 from dreampiggy/behavior_weak_cache_default
Do a extra memory cache sync when weak cache feature enabled && Change the default value for `shouldUseWeakMemoryCache` to NO
2021-09-30 17:16:32 +08:00
kinarobin 615e181257 fix image source release in advance 2021-09-29 11:17:12 +08:00
Ethan Wong 2b95a12541
Make SDAnimatedImageRep confirms to correct copy semantic 2021-08-11 23:42:27 +08:00
DreamPiggy 73cd294129
Merge pull request #3241 from dreampiggy/fix_cert_verity_optional
Change the default delegate method to allows optional cert in SSL verify, matches URLSession's behavior
2021-05-25 18:01:36 +08:00
DreamPiggy a77e5f561e Avoid extra calculation for sd_imageFrameCount 2021-05-25 16:08:53 +08:00
DreamPiggy 7f078d21ba Adopt SDAnimatedImage for `sd_imageFrameCount` 2021-05-25 16:05:42 +08:00
DreamPiggy 4ae33983e0 Added `sd_imageFrameCount` convenient API for UIAinmatedImage/NSBitmapImageRep
Fix one issue when input UIAnimatedImage contains only 1 image
2021-05-25 15:43:46 +08:00
DreamPiggy 18eda252d2 Change the default delegate method to allows optional cert in SSL verify, matches URLSession's behavior 2021-05-23 11:36:39 +08:00
DreamPiggy b1ee90dca6 Change the default value for `shouldUseWeakMemoryCache` to NO. This feature may effect a little query performance, so it's not suitable to enable by default. 2021-05-21 17:04:06 +08:00
DreamPiggy e58a872daa Do a extra memory cache sync when weak cache feature enabled. This can avoid the deallocation from imageView during `sd_setImageWithURL:`
This actually fix current weak cache feature's main use case. Before the weak cache may not works as function
2021-05-21 16:59:37 +08:00
DreamPiggy fd326e3d51
Merge pull request #3238 from dreampiggy/fix_image_from_cache_api_behavior
Fix imageFromCacheForKey with options and context behavior, matching the async version one.
2021-05-21 15:43:14 +08:00
DreamPiggy 63a3d0b996
Merge pull request #3237 from kinarobin/fix-wrong-memory-cost
Fix wrong memory cost in `_UIAnimatedImage`
2021-05-21 15:37:27 +08:00
kinarobin 426830d55f change to AWebP 2021-05-21 14:57:14 +08:00
DreamPiggy 04c07f983f Fix imageFromCacheForKey with options and context behavior, matching the async version one.
Support `SDImageCacheDecodeFirstFrameOnly` and `SDImageCacheMatchAnimatedImageClass`
2021-05-21 14:28:16 +08:00
kinarobin 22cd94d08a fix wrong memory cast in _UIAnimatedImage 2021-05-21 14:06:26 +08:00
DreamPiggy 2e07701e50
Merge pull request #3236 from dreampiggy/fix_warning
Fix the warning, enable `APPLICATION_EXTENSION_API_ONLY` for all framework target
2021-05-21 11:50:32 +08:00
DreamPiggy 46912090f9 Fix the warning, enable `APPLICATION_EXTENSION_API_ONLY` for all framework target 2021-05-21 11:50:12 +08:00
DreamPiggy 0b304a867d
Merge pull request #3227 from dreampiggy/feature_acceptable_status_code_content_type
Feature: allow user to custom acceptable status code and content type
2021-05-11 16:17:43 +08:00
DreamPiggy f3d68c9cc2 Added `SDWebImageErrorDownloadResponseKey` userInfo for better error report 2021-05-07 16:40:10 +08:00
DreamPiggy df7d56373d Added the feature to config the status code and content type checking logic, do not hard-coded 200-400 2021-05-07 16:26:38 +08:00
Huang-Libo e1d928a10d
Correct document in SDWebImageDownloader 2021-04-25 23:25:35 +08:00
DreamPiggy 896c5f62f7 Fix the bug that when querying original cache miss, the download process will be skipped. This is not designed behavior. 2021-04-23 12:43:27 +08:00
DreamPiggy e88df1f819
Merge pull request #3219 from dreampiggy/behavior_transformer_store_query_default_disk
Change the .originalStoreCaheType and .originalQueryCacheType into .disk, Now we will store the full image data into disk and re-query the full image data by default
2021-04-23 12:43:02 +08:00
Huang-Libo f9a8de5684
Fix spelling error in SDWebImageDownloaderOperation
tokent -> token
2021-04-23 11:34:34 +08:00
DreamPiggy a9ef21bd80 Change the .originalStoreCaheType and .originalQueryCacheType into [.disk]. Now we will store the full image data into disk and re-query the full image data by default, which makes it easy for transformer to avoid re-downloading the full size image data. 2021-04-22 17:34:53 +08:00
DreamPiggy 51176c7b74 Added new disk cache config `shouldRemoveExpiredDataWhenTerminate` 2021-04-11 12:53:54 +08:00
DreamPiggy 8f34f98c61 Change the willTerminate auto clean cache logic into sync version 2021-04-11 11:30:51 +08:00
DreamPiggy d452afdb54 Ensure the invalid URLSeesion will receive the cancel callback and does not trigger the any exception from framework 2021-04-07 11:03:56 +08:00
DreamPiggy bed1638b42 Revert the "Don't encode/decode image when app will terminate" 2021-04-06 18:21:16 +08:00
DreamPiggy d1c75d8397 Hotfix for the wrong naming selector during gardening 2021-04-06 11:40:32 +08:00
DreamPiggy 7c7f279b36 Code garden for terminate check 2021-04-01 21:10:26 +08:00
DreamPiggy aa2e264ffb
Merge pull request #3149 from kinarobin/fix-ImageIO-encode/decode-crash
Don't encode/decode image when app will terminated
2021-04-01 20:36:59 +08:00