-
-
Notifications
You must be signed in to change notification settings - Fork 6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The issue of playing the same animated image link simultaneously on SDAnimatedImageView and UIImageView is as follows: #3667
Comments
By designed issue. The If you use normal UIImageView to display GIF, which is indeed a bad idea. You can disable this by using the options override.
|
This is indeed not a good idea, but we do have such a business scenario, mainly occurring when displaying network avatars. |
UIImageView is from Apple's UIKit, we can not change it's behavior or hook them
It can not supports to dynamic replacement himself. Read more about why we introduce |
I guess your question is:
Maybe, but this cause huge complicated.
Well, you can. Using the option Pay attention for RAM usage. |
Oh, seems that
I guess your case seems to be:
|
I understand, but the cost of replacing all UIImageViews that could potentially display animated images with SDAnimatedImageView in our application is somewhat high. Therefore, my current solution involves hooking the cacheKeyForURL:context: method and setting the key through SDWebImageContextAnimatedImageClass for identification. However, this approach is not quite elegant, and it also results in storing three identical copies of the data on the disk. So, I am still in the process of finding a better solution. |
Need changes about how image stored and queried. A better design is to store both, with a modified key. Or using a more hackey way A more hackey way can be like. UIImage instance use associated object to retain the SDAnimatedImage, or the reversed. |
The original design of |
Thank you, I already know what to do. |
Issue Info
Issue Description and Steps
For example, when a network animated image is downloaded and decoded into SDAnimatedImage for SDAnimatedImageView, it can play normally and is cached by SDMemoryCache. Subsequently, the same URL is downloaded into a UIImageView, and it retrieves the cached image from SDMemoryCache, which is an SDAnimatedImage. However, UIImageView is unable to display the SDAnimatedImage, resulting in the final display of a static image. How can this issue be resolved?
The text was updated successfully, but these errors were encountered: