Fix imageFromCacheForKey with options and context behavior, matching the async version one. #3238
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
New Pull Request Checklist
I have read and understood the CONTRIBUTING guide
I have read the Documentation
I have searched for a similar pull request in the project and found none
I have updated this branch with the latest master to avoid conflicts (via merge from master or rebase)
I have added the required tests to prove the fix/feature I am adding
I have updated the documentation (if necessary)
I have run the tests and they pass
I have run the lint and it passes (
pod lib lint
)This merge request fixes / refers to the following issues: ...
Pull Request Description
Support
SDImageCacheDecodeFirstFrameOnly
andSDImageCacheMatchAnimatedImageClass
This may be a little related to #3230 . But not solve them all.
From the design of this framework, the
SDAnimatedImage
custom class, should provide the top level priority.Which means:
SDAnimatedImage
custom class instance in memory cache: Always query and return it, whatever caller isUIImageView
orSDAnimatedImageView
UIImage
not custom class instance in memory cache: IfmatchesImageClass
, ignore it and override with new created oneSDAnimatedImage
.This can ensure we always prefer the
SDAnimatedImage
overUIImage
, so that we do not replace same instance once by another. (If we putUIImage
andSDAnimatedImage
with the same level priority, this will cause huge issue)