-
Notifications
You must be signed in to change notification settings - Fork 6.1k
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
Gifs appear in multiple views when start/stopped #2526
Comments
Thanks for the detail, video and repro steps, super helpful. I believe this is fixed. You can verify by trying with the latest snapshot: http://bumptech.github.io/glide/dev/snapshots.html#obtaining-snapshots |
Looks great, thanks 👍 |
sjudd
added a commit
to sjudd/glide
that referenced
this issue
Nov 3, 2017
------------- Avoid blocking Futures forever on unexpected load failures. ------------- Add a system for emulator based regression testing. The tests can both generate canonical output specific to one or more Android SDKs and compare the current output to previously generated images to detect regressions. Ideally we can add top level tests for most Glide functionality using these tests to detect regression across the library without a ton of overhead either when new tests are added or when functionality is intentionally. ------------- Add an explicit 2m timeout to Firebase sample tests. ------------- Run emulator tests on all available Android versions on Firebase. ------------- Run instrumentation tests on Travis always. This should help us keep track of flakes so they don’t only appear when someone makes a pull request. ------------- Remove Android API 20 emulator from travis. It’s unreliable and basically just KitKat anyway. ------------- Update usage script for split_by_sdk. ------------- Add more transformation regression tests. ------------- Avoid clearing Bitmaps in use by paused GifDrawables. Fixes bumptech#2526. ------------- clear all pixels when dispose is 3 but previousImage is null (bumptech#2521) * clear all pixels when dispose is 3 but previousImage is null * Separate conditions and explain why we need to drop the prev image * release previousImage for re-use ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=e86fd41e16aac1b95884494c1097417b4ab15a5a ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=173974844
sjudd
added a commit
to sjudd/glide
that referenced
this issue
Sep 24, 2021
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Noticed an issue where gifs seem to duplicate when going from stopped to started state across multiple gifs see Video.
Issue seems to go away with
Glide.get(context).bitmapPool.setSizeMultiplier(0f)
.I think I've identified the issue;
GifDrawable
is stopped and removes its frame loader callback during a frame load (afterGifFrameLoader.loadNextFrame()
). Eventually, theGifFrameLoader
is going to get one lastonFrameReady
callback and it will attempt to notify its listeners but since theGifDrawable
is already removed nothing happens, however the previousBitmap
, which in this case is still being used by theGifDrawable
is cleared and put into the cache.I've got some sample code that I was able to reproduce with by quickly stopping the gifs and starting the others:
The text was updated successfully, but these errors were encountered: