我的应用程序的屏幕是 NetworkImages 的全屏 GridView,每次单击图像时,它都会将您带到一个包含另一个图像 GridView 的新页面。我遇到了内存问题并且应用程序崩溃了,因为每次我 Navigator.push 一个新页面时,上一页上的图像仍然保存在内存中,导致内存泄漏。我需要保留页面的完整历史记录,用户需要返回。有没有办法在调用 Navigator.push 时从内存中释放图像,并在有 Navigator.pop 事件时重建它们?我试过使用 CachedNetworkImage 和 OptimizedCachedImage,但两者都会导致更多的内存问题。
这是显示问题的要点:https://gist.github.com/Sofianel5/3b29e15024b902f6f04ce2f84598171c
最佳答案
确保你在每个页面中调用 dispose 函数
@override
void dispose(){
super.dispose();
}
关于performance - 如何高效地 Navigator.push 内存 Flutter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66486247/