Add the SDWebImageContextStoreCacheType
context option to specify target cache type when the image is downloaded by manager and will store to cache
#2360
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.
This replace the previous
SDWebImageCacheMemoryOnly
option, which is not so accurate and lack of detail control for cache behavior.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 / reffers to the following issues: ...
Pull Request Description
Reason
Current
SDWebImageCacheMemoryOnly
options is good for some big images, or tempory image which is no need to store in the disk cache.However, there are still some people including me, hope to totally disable cache storage for some of images. For example, when query the image from Photos Library plugin, we don't want to store the image into disk cache or memory cache at all. Because the cost to load the image again is quite cheap.
We already done something like Custom Cache and allow user to sepcify 4 type of store cache behavior : store disk only, store memory only, store memory and disk, do not store. So I think now we can adopt a better solution for our user who need the detailed control for cache behavior.
Design
We should treat this cache type control as individual image request level. So the best choice is using
SDWebImageContextOption
. We just pass the target cache type from the user and use that to decide cache storage.Implementation