Commit Graph

  • 91ff7189c9 Introduce the automatically calculation of thumbnail (include animated/static image) using `SDImageCoderDecodeScaleDownLimitBytes` DreamPiggy 2023-05-15 17:27:29 +0800
  • f3ea1eee67 Update the check logic to detect `Multiple Frame Animated Image` DreamPiggy 2023-05-15 14:51:42 +0800
  • 2331bcc690 Update the implementation `SDScaledImageForScaleFactor` to support SDAnimatedImage DreamPiggy 2023-05-15 14:41:10 +0800
  • d82f5574e4
    Merge pull request #3531 from dreampiggy/bugfix/macos_SDDisplayLink_crash_during_dealloc DreamPiggy 2023-05-10 16:31:15 +0800
  • 08ca5f4b22 Try to fix the SDDisplayLink danger pointer because of unsafe_unretained for self from the CVDisplayLinkRef DreamPiggy 2023-05-10 16:00:00 +0800
  • 507f1b6b45 Using lock to ensure SDImageFramePool register/unregister logic in multi-thread environment DreamPiggy 2023-05-09 16:40:59 +0800
  • 181f8d2183 Fix the issue that per-provider frame pool does not get dealloced DreamPiggy 2023-04-26 14:58:19 +0800
  • ef69460dc7 Fix the test case test26AnimatedImageStopAnimatingClearBuffer DreamPiggy 2023-04-26 14:39:48 +0800
  • 858b64aef7 Try to optimize the time when calculate the maxBufferCount, it's cheap to get free memory so we check each time before prefetch DreamPiggy 2023-04-26 11:57:52 +0800
  • 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 DreamPiggy 2023-04-25 18:35:12 +0800
  • 3289629ef6 Bumped version to 5.15.7 5.15.7 DreamPiggy 2023-05-06 16:20:45 +0800
  • 09f0fdd189
    Merge pull request #3526 from dreampiggy/bugfix/try_avoid_inline_sdcallback_queue DreamPiggy 2023-05-06 15:55:18 +0800
  • 5481aa2e16
    Merge pull request #3523 from dreampiggy/opt/same_url_query_extra_decode_store DreamPiggy 2023-05-05 18:57:01 +0800
  • ada908a853 Extended gcd queue to avoid SDCallbackQueue dealloc while during dispatch DreamPiggy 2023-05-05 18:51:12 +0800
  • 17b5a1d9ab Check queue equality only when queue specific is available DreamPiggy 2023-05-05 18:46:37 +0800
  • 4ffd068762 Try to solve the strange dispatch group crash in SDSafeExecute by removing inline DreamPiggy 2023-05-05 15:44:46 +0800
  • 71bcdf006a Performance: Opt when multiple same URL query in parallels, which may cause duplicated decode and store disk operation DreamPiggy 2023-04-25 18:25:05 +0800
  • 20df851f2a Bumped version to 5.15.6 5.15.6 DreamPiggy 2023-04-23 23:21:53 +0800
  • 1fdb22578c
    Merge pull request #3520 from dreampiggy/bugfix/watchos_animated_image_duration DreamPiggy 2023-04-23 21:35:35 +0800
  • eb8b62b170 Fix the test case `test57SDImageCachesManagerOperationPolicySerial` that remove the cache path directory DreamPiggy 2023-04-21 20:39:49 +0800
  • 4cee95d5a2 Revert the SDDisplayLink for watchOS, fix the animated image duration bug DreamPiggy 2023-04-21 18:53:36 +0800
  • a549e99922
    Merge pull request #3519 from dreampiggy/bugfix/warning_c_no_param DreamPiggy 2023-04-21 15:54:19 +0800
  • ec278a2fb5 Fix the warning of C function with no param DreamPiggy 2023-04-21 15:52:41 +0800
  • b4d32dc85d
    Merge pull request #3517 from timonus/save-perf DreamPiggy 2023-04-21 15:32:28 +0800
  • c79416bc2e Ensure directory exists on init instead of on each save. Tim Johnsen 2023-04-18 16:29:24 -0700
  • 3fd19c16eb Disable iCloud backup once per directory creation instead of for each image save. Tim Johnsen 2023-04-18 16:27:30 -0700
  • 4f3e76cd7a Use kvImageNoAllocate to avoid extra memory allocation peak(1x) for CGImageCreateScaled DreamPiggy 2023-03-08 14:28:00 +0800
  • fb50c1d20f Bumped version to 5.15.5 5.15.5 DreamPiggy 2023-03-03 23:12:01 +0800
  • 4a3ce34c27
    Merge pull request #3506 from dreampiggy/bugfix/fix_blur_effect DreamPiggy 2023-03-03 23:10:53 +0800
  • e0b7cc5241 Fix the blur effect logic by avoid color convert and always use three box-blur methodology DreamPiggy 2023-03-03 18:54:08 +0800
  • 14b36f8096
    Merge pull request #3505 from dreampiggy/bugfix/cache_nil_key DreamPiggy 2023-03-03 15:29:17 +0800
  • 8d09564f27 Protect the disk operation when input key is nil DreamPiggy 2023-03-03 15:10:42 +0800
  • b4f07a9fce refactor: introduced SDGraphicsImageRenderer to use dynamic format bitmap context when render image acton393 2023-02-24 09:29:00 +0800
  • a812079ae9 GravatarBumped version to 5.15.4 5.15.4 DreamPiggy 2023-02-21 21:14:53 +0800
  • 011fe74031
    Merge pull request #3500 from dreampiggy/bugfix/sd_callbackqueue_escaping DreamPiggy 2023-02-21 21:09:42 +0800
  • 5bb64eae39 Fix the wrong declaration of SDCallbackQueue's block, should be escaping to match GCD block DreamPiggy 2023-02-21 19:12:12 +0800
  • 53cd568fee refactor:use SDGraphicsImageRenderer to render image instead of SDGraphicsBeginImageContextWithOptions/SDGraphicsEndImageContext directly. as SDGraphicsImageRenderer will use UIGraphicsImageRenderer a better performance api for iOS 10 later acton393 2023-02-18 20:49:12 +0800
  • 554e05a441 Bumped version to 5.15.3 5.15.3 DreamPiggy 2023-02-18 19:49:14 +0800
  • 748def0a0c
    Merge pull request #3496 from dreampiggy/temp/try_fix_promotion DreamPiggy 2023-02-18 19:36:15 +0800
  • 856ecd6235 Fix leak of display mode DreamPiggy 2023-02-18 18:07:07 +0800
  • 3440b7c0fb Update test case for display link and revert the protect code DreamPiggy 2023-02-18 17:56:34 +0800
  • 940f991ca1
    Merge pull request #3497 from dreampiggy/bugfix/same_url_failed_callback_times DreamPiggy 2023-02-18 17:57:14 +0800
  • 9bc5207979 Added test case `test31ThatMultipleRequestForSameURLFailedCallback` to ensure behavior DreamPiggy 2023-02-18 17:33:59 +0800
  • b25864cc71 Fix the issue when multiple request for same url failed, the completedBlock will callback more times DreamPiggy 2023-02-18 17:27:13 +0800
  • 9cf8d125f5
    Update README.md DreamPiggy 2023-02-18 17:02:34 +0800
  • 271e8d8b12 Try to fix display link callback duration calculation issue, using next timestamp for iOS 10+ / watchOS, previous timestamp for iOS 9 DreamPiggy 2023-02-12 02:51:55 +0800
  • 8bd4e72c33 Fix macOS Demo applicationDidFinishLaunching not called DreamPiggy 2023-02-12 02:46:50 +0800
  • a47bc00770
    Merge pull request #3489 from SDWebImage/ci DreamPiggy 2023-02-07 21:08:22 +0800
  • 205b57cc1d Try to fix codecov upload issue using token DreamPiggy 2023-02-07 16:13:32 +0800
  • 3eb773895b test again DreamPiggy 2023-02-07 19:25:38 +0800
  • b512823536 Use secrets DreamPiggy 2023-02-07 19:14:08 +0800
  • 11a6205f54 Debug DreamPiggy 2023-02-07 19:09:05 +0800
  • 000f770e84 Try to fix codecov upload issue using token DreamPiggy 2023-02-07 16:13:32 +0800
  • 7ccdcb02fb Bumped version to 5.15.2 5.15.2 DreamPiggy 2023-02-07 15:20:33 +0800
  • 2382c58421
    Merge pull request #3484 from dreampiggy/garden/objc_bool_yes_no DreamPiggy 2023-02-07 15:00:02 +0800
  • 6b25d9854a
    Merge pull request #3483 from dreampiggy/bugfix/atomic_logic_fix DreamPiggy 2023-02-07 14:59:20 +0800
  • f2d7610181 Change Objc BOOL true/false into correct YES/NO DreamPiggy 2023-02-07 02:32:11 +0800
  • 7cec27bab9 Fix the atomic logic between downloader and operation again DreamPiggy 2023-02-07 02:16:00 +0800
  • 1f48e5a379 Bumped version to 5.15.1 5.15.1 DreamPiggy 2023-02-06 21:57:16 +0800
  • eecc7e4380
    Merge pull request #3480 from dreampiggy/bugfix/data_copy_crash DreamPiggy 2023-02-06 21:50:28 +0800
  • 247cbcfd97
    Merge pull request #3479 from dreampiggy/bugfix/fix_async_block_operation_race DreamPiggy 2023-02-06 21:49:43 +0800
  • fbe8880ab7 Remove the unused extra copy for `SDAnimatedImage` data initializer DreamPiggy 2023-02-06 21:11:59 +0800
  • 02969011b0 Try to fix the SDAsyncBlockOperation's race condition DreamPiggy 2023-02-06 18:07:00 +0800
  • a052164350
    Merge pull request #3477 from dreampiggy/bugfix/ensure_downloader_callback_atomic DreamPiggy 2023-02-06 20:41:10 +0800
  • 1ec6cd06f7 Change all placeholder.com sample from http into https DreamPiggy 2023-02-06 18:54:56 +0800
  • b6910be155 Added test case `test31ThatMultipleRequestForSameURLNeverSkipCallback` to ensure all download request for same url always callback DreamPiggy 2023-02-06 17:29:08 +0800
  • 0c94e540bc Revert back the NSOperationQueue, seems has better performance on this cases (may dispatch multiple block but not important, one finished is OK) DreamPiggy 2023-02-06 16:09:07 +0800
  • 6e1fee7834 Try not introduce new public API for operation, attach the `isCompleted` property using associated object from downloader, ensure compatibility DreamPiggy 2023-02-06 15:06:54 +0800
  • 43b94130c7 Ensure the DownloaderOperation callback the completion in atomic and never miss one DreamPiggy 2023-02-03 19:02:07 +0800
  • f25cc6bb1c
    Merge pull request #3474 from dreampiggy/bugfix/atomic_fix DreamPiggy 2023-01-22 14:12:35 +0800
  • a66ff8e5c9 Avoid compiler generate the wrong property attribute with non-atomic DreamPiggy 2023-01-22 11:45:19 +0800
  • 8a6dcf8882
    Merge pull request #3473 from dreampiggy/bugfix/create_options DreamPiggy 2023-01-22 11:43:31 +0800
  • a80af99d0a Fix the issue the fallback logic of ImageIO Source should avoid passing any UTI hint DreamPiggy 2023-01-22 11:23:18 +0800
  • 6f8121c604
    Merge pull request #3471 from GiddyGoatGaming/patch-1 DreamPiggy 2023-01-19 12:08:08 +0800
  • 5b34168e64
    Bump actions/checkout to v3 Spencer Comfort 2023-01-17 06:50:50 -0500
  • 6c6b951845 Bumped version to 5.15.0 5.15.0 DreamPiggy 2023-01-17 17:10:01 +0800
  • 975502b4a6
    Merge pull request #3469 from dreampiggy/feat/animated_image_encode DreamPiggy 2023-01-17 16:50:50 +0800
  • 9dd8b6c08b Update test case DreamPiggy 2023-01-17 16:50:16 +0800
  • a01715e196
    Merge pull request #3468 from dreampiggy/feat/decode_solution_change DreamPiggy 2023-01-17 16:20:07 +0800
  • 0bdb7865c7 Change the immutable frames array DreamPiggy 2023-01-17 16:18:17 +0800
  • 985c84be75 Opt the macOS legacy animated encode, with the weak assigned frames to avoid re-decode again DreamPiggy 2023-01-17 16:16:09 +0800
  • 8ec3bc83d7 Added encodeWithFrames API for animation encoding in custom coder, better for usage DreamPiggy 2023-01-17 15:24:39 +0800
  • c0f7023472 Update the decode solution to allows CoreGraphics avoid using any UIKit method DreamPiggy 2023-01-17 14:38:00 +0800
  • 7c63bad41c
    Merge pull request #3466 from dreampiggy/feat/encode_options DreamPiggy 2023-01-12 16:35:50 +0800
  • 911a9a86a0 Fix the wrong test because now ioQueue and encodeQueue is different thing, we should not assume calling storeImage and queryDiskCache get the data (they are not guarded by the same serial queue) DreamPiggy 2023-01-12 15:20:51 +0800
  • e083ab293f Fix the wrong behavior after 5.15.0 cache changes DreamPiggy 2023-01-12 14:49:02 +0800
  • 78fa0a9cb5 Update test case test08ThatImageTransformerWork with encode options DreamPiggy 2023-01-11 16:38:00 +0800
  • 08ec6cf253 Adjustment for manager && cache call, add deprecation DreamPiggy 2023-01-11 16:00:16 +0800
  • 246cfa935d Change the cache's encoding in global queue to avoid block ioQueue for IO read/write, performance related DreamPiggy 2023-01-11 15:32:04 +0800
  • d93a08fc91 Added `SDWebImageContextImageEncodeOptions` to pass encode options like compression quality to SDImageCache storeImage API DreamPiggy 2023-01-11 15:08:31 +0800
  • 05f7fb9b0d
    Merge pull request #3465 from dreampiggy/feat/callback_queue DreamPiggy 2023-01-10 14:38:00 +0800
  • 720a0974d4 Fix SwiftPM issue DreamPiggy 2023-01-10 12:49:20 +0800
  • 397f851240 Update test case DreamPiggy 2023-01-09 22:14:53 +0800
  • e21e9f19e6 Update Carthage project DreamPiggy 2023-01-09 21:56:15 +0800
  • e1e0841102 Rename the internal property to avoid misleading DreamPiggy 2023-01-09 21:46:20 +0800
  • 007100d18f Supports the old store cache API without context, which does not supports callback queue customization DreamPiggy 2023-01-09 21:42:32 +0800
  • 1b086711ae Fix the issue because of main queue label hack DreamPiggy 2023-01-09 18:44:33 +0800
  • 43d74211c3 Added test case `testSDCallbackQueue` DreamPiggy 2023-01-09 18:31:56 +0800
  • 90eeb4d830 Deprecate SDWebImagePrefetcher.delegateQueue, translate to use context[SDWebImageContextCallbackQueue] instead DreamPiggy 2023-01-09 17:45:52 +0800
  • 5a4b4cf16d Change the asyncSafe to the queue level configuration, introduce SDCallbackPolicy DreamPiggy 2023-01-09 17:24:13 +0800