DreamPiggy
e1c01fe28b
Introduce `SDImageForceDecodePolicy`, which can controls whether to force-decode using automatic check, always or never
...
Deprecate the `SDWebImageAvoidDecodeImage`
This can help for some user who don't use ImageIO and need to ensure the memory footprint
2023-07-13 22:58:32 +08:00
DreamPiggy
69c98c5f71
Added test case `test28ThatNotTriggerCACopyImage` and `test28ThatDoTriggerCACopyImage`
2023-07-13 22:58:32 +08:00
DreamPiggy
f6ca661537
Update the correct byte alignment and check with 8 * 4 bytes
...
The sd_isDecoded default value only check once
2023-07-13 22:58:32 +08:00
DreamPiggy
06589dbcc4
Update the default force decode value, partial revert ff6b3b9bb5
...
Now it's will mark as false for not byte-aligned CGImage
2023-07-13 22:58:32 +08:00
DreamPiggy
b4559994ea
Provide the API for custom coders (like WebPCoder) to use runtime check to handle the decode output bitmap info
...
Include: colorspace, byte alignment, bitmap info
Remove the exists hardcode on BGRA8888
2023-07-13 22:58:32 +08:00
DreamPiggy
f5f27a9e01
Merge pull request #3561 from dreampiggy/bugfix/macOS_limitBytes_animatedImageRep
...
Fix macOS bug that SDImageCoderDecodeScaleDownLimitBytes still use the AnimatedImageRep and beyond the byte limit
2023-07-13 22:53:09 +08:00
DreamPiggy
47fd1c9a10
Fix the bug that SDImageCoderDecodeScaleDownLimitBytes still use the AnimatedImageRep and beyond the byte limit
...
Also, expose the limit bytes calculation utils method
2023-07-13 22:32:27 +08:00
DreamPiggy
c51ba84499
Bumped version to 5.16.0
...
update CHANGELOG
2023-06-04 14:19:24 +08:00
DreamPiggy
90aa750c92
Merge pull request #3547 from dreampiggy/doc/update_api_document
...
Update some comments to allows SwiftDocC generate better page
2023-06-04 14:02:00 +08:00
DreamPiggy
82793d27bf
Update some comments to allows SwiftDocC generate better page
2023-06-04 13:31:22 +08:00
DreamPiggy
5c14e73f70
Added description about the non-cache key awareness for .scaleDownLimitBytes
...
May be changed in the future if user reply
2023-06-04 13:30:42 +08:00
DreamPiggy
b27c579f47
Merge pull request #3537 from dreampiggy/feature/coder_scale_down_limit_bytes_auto
...
Introduce the automatically calculation of thumbnail (include animated/static image) using `SDImageCoderDecodeScaleDownLimitBytes`
2023-06-04 12:45:36 +08:00
DreamPiggy
c27e18506d
Merge pull request #3524 from dreampiggy/feature/sdanimatedimage_frame_pool
...
Performance: Introduce frame pool for SDAnimatedImage playback. Solve when multiple image view references the same URL image cause un-wanted decode which waste RAM/CPU
2023-06-04 12:38:52 +08:00
DreamPiggy
7f9fb5d43e
Bumped version to 5.15.8
...
update CHANGELOG
2023-05-15 18:09:30 +08:00
DreamPiggy
e85d1e5c36
Merge pull request #3535 from dreampiggy/feature/SDAnimatedImage_scale
...
Update the implementation `SDScaledImageForScaleFactor` to support SDAnimatedImage
2023-05-15 17:58:20 +08:00
DreamPiggy
91162ce5dc
Update the example with new SDWebImageScaleDownLargeImages
2023-05-15 17:34:38 +08:00
DreamPiggy
91ff7189c9
Introduce the automatically calculation of thumbnail (include animated/static image) using `SDImageCoderDecodeScaleDownLimitBytes`
...
The exist SDWebImageScaleDownLargeImages translate to new option instead
2023-05-15 17:34:06 +08:00
DreamPiggy
f3ea1eee67
Update the check logic to detect `Multiple Frame Animated Image`
2023-05-15 14:51:42 +08:00
DreamPiggy
2331bcc690
Update the implementation `SDScaledImageForScaleFactor` to support SDAnimatedImage
2023-05-15 14:50:59 +08:00
DreamPiggy
d82f5574e4
Merge pull request #3531 from dreampiggy/bugfix/macos_SDDisplayLink_crash_during_dealloc
...
Try to fix macOS SDDisplayLink crash because of accessing the deallocated objc pointer during CVDisplayLinkRef callback
2023-05-10 16:31:15 +08:00
DreamPiggy
08ca5f4b22
Try to fix the SDDisplayLink danger pointer because of unsafe_unretained for self from the CVDisplayLinkRef
...
Using the same solution from iOS/watchOS via SDWeakProxy
2023-05-10 16:00:00 +08:00
DreamPiggy
507f1b6b45
Using lock to ensure SDImageFramePool register/unregister logic in multi-thread environment
2023-05-09 16:50:41 +08:00
DreamPiggy
181f8d2183
Fix the issue that per-provider frame pool does not get dealloced
2023-05-09 16:50:41 +08:00
DreamPiggy
ef69460dc7
Fix the test case test26AnimatedImageStopAnimatingClearBuffer
2023-05-09 16:50:41 +08:00
DreamPiggy
858b64aef7
Try to optimize the time when calculate the maxBufferCount, it's cheap to get free memory so we check each time before prefetch
...
Also, move the memory warning handler into frame pool class (100 player may use one frame pool)
2023-05-09 16:50:41 +08:00
DreamPiggy
a206229905
Introduce frame pool for SDAnimatedImage playback. Solve when multiple image view references the same URL image cause un-wanted decode which waste RAM/CPU
2023-05-09 16:50:41 +08:00
DreamPiggy
3289629ef6
Bumped version to 5.15.7
...
update CHANGELOG
2023-05-06 16:22:13 +08:00
DreamPiggy
09f0fdd189
Merge pull request #3526 from dreampiggy/bugfix/try_avoid_inline_sdcallback_queue
...
Try to solve the strange dispatch group crash in SDSafeExecute by removing inline
2023-05-06 15:55:18 +08:00
DreamPiggy
5481aa2e16
Merge pull request #3523 from dreampiggy/opt/same_url_query_extra_decode_store
...
Performance: Opt when multiple same URL query in parallels, which may cause duplicated decode and store disk operation
2023-05-05 18:57:01 +08:00
DreamPiggy
ada908a853
Extended gcd queue to avoid SDCallbackQueue dealloc while during dispatch
2023-05-05 18:51:12 +08:00
DreamPiggy
17b5a1d9ab
Check queue equality only when queue specific is available
2023-05-05 18:46:37 +08:00
DreamPiggy
4ffd068762
Try to solve the strange dispatch group crash in SDSafeExecute by removing inline
...
Guessing the queue ARC lifecycle is wrong during some of compiler optimization
2023-05-05 18:41:20 +08:00
DreamPiggy
71bcdf006a
Performance: Opt when multiple same URL query in parallels, which may cause duplicated decode and store disk operation
2023-04-25 18:25:05 +08:00
DreamPiggy
20df851f2a
Bumped version to 5.15.6
...
update CHANGELOG
2023-04-23 23:21:53 +08:00
DreamPiggy
1fdb22578c
Merge pull request #3520 from dreampiggy/bugfix/watchos_animated_image_duration
...
Revert the SDDisplayLink for watchOS, fix the animated image duration bug
2023-04-23 21:35:35 +08:00
DreamPiggy
eb8b62b170
Fix the test case `test57SDImageCachesManagerOperationPolicySerial` that remove the cache path directory
2023-04-21 20:39:49 +08:00
DreamPiggy
4cee95d5a2
Revert the SDDisplayLink for watchOS, fix the animated image duration bug
2023-04-21 18:53:36 +08:00
DreamPiggy
a549e99922
Merge pull request #3519 from dreampiggy/bugfix/warning_c_no_param
...
Fix the warning of C function with no param
2023-04-21 15:54:19 +08:00
DreamPiggy
ec278a2fb5
Fix the warning of C function with no param
2023-04-21 15:52:41 +08:00
DreamPiggy
b4d32dc85d
Merge pull request #3517 from timonus/save-perf
...
Small improvements to SDDiskCache write perf.
2023-04-21 15:32:28 +08:00
Tim Johnsen
c79416bc2e
Ensure directory exists on init instead of on each save.
2023-04-18 16:29:24 -07:00
Tim Johnsen
3fd19c16eb
Disable iCloud backup once per directory creation instead of for each image save.
2023-04-18 16:27:30 -07:00
DreamPiggy
fb50c1d20f
Bumped version to 5.15.5
...
update CHANGELOG
2023-03-03 23:12:01 +08:00
DreamPiggy
4a3ce34c27
Merge pull request #3506 from dreampiggy/bugfix/fix_blur_effect
...
Fix the blur effect logic by avoid color convert and always use three box-blur methodology
2023-03-03 23:10:53 +08:00
DreamPiggy
e0b7cc5241
Fix the blur effect logic by avoid color convert and always use three box-blur methodology
2023-03-03 22:57:14 +08:00
DreamPiggy
14b36f8096
Merge pull request #3505 from dreampiggy/bugfix/cache_nil_key
...
Protect the disk operation when input key is nil
2023-03-03 15:29:17 +08:00
DreamPiggy
8d09564f27
Protect the disk operation when input key is nil
2023-03-03 15:10:42 +08:00
DreamPiggy
a812079ae9
GravatarBumped version to 5.15.4
...
update CHANGELOG
2023-02-21 21:14:53 +08:00
DreamPiggy
011fe74031
Merge pull request #3500 from dreampiggy/bugfix/sd_callbackqueue_escaping
...
Fix the wrong declaration of SDCallbackQueue's block, should be escaping to match GCD block
2023-02-21 21:09:42 +08:00
DreamPiggy
5bb64eae39
Fix the wrong declaration of SDCallbackQueue's block, should be escaping to match GCD block
...
This may cause the wrong lifecycle for block (earily release)
2023-02-21 19:12:12 +08:00