-
-
Notifications
You must be signed in to change notification settings - Fork 661
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
iOS crashed when loading thousands Images with CachedNetworkImageProvider in Listview #970
Comments
I printed out the values using a timer and found that while the scrolling was paused, the value of PaintingBinding.instance.imageCache.liveImageCount would keep increasing, is there anyway to limit it |
It feels like all the picture widgets I've scrolled through are still being downloaded and cached, even though they are no longer displayed on the current screen, and they cannot be released, ultimately leading to a memory overflow. |
When I stop scrolling Listview after a while, pendingImageCount first increases gradually and then decreases to 0. Before pendingImageCount reaches 0, the memory usage remains in an upward state. The memory usage is released entirely when pendingImageCount reaches 0 instantaneously, just as shown in the picture |
Hi, We too are facing the same issue by loading only 10 images in a listView and the web app crashes. The issue still persists even after resizing the images. We are using the canvaskit for rendering. You can check it out the Web App, below on the Android/iOS/Windows browsers, except iOS everywhere the web app is working fine: Demo user mobile number: 1234567890 Regards! |
Hi (I've improved some logical operation like mem cache size etc. It temprorary work but i think we need the beter solution for next time usage) |
Hello, I have this same issue |
🐛 Bug Report
Rapidly scrolling through a ListView in iOS , when i stop scrolling, the memory usage keep rising until the app crashes.
Expected behavior
The image cache usage should be kept within the restricted range.
Reproduction steps
already set the cache limit in main.dart
PaintingBinding.instance.imageCache.maximumSize = 10;
PaintingBinding.instance.imageCache.maximumSizeBytes = 1024 *1024 * 100;//MB
i've used ScrollAwareImageProvider ,set maxWidth&maxHeight for CachedNetworkImageProvider
Configuration
**Version: Flutter 3.22.2 Dart 3.4.3
Platform:
The text was updated successfully, but these errors were encountered: