Image
中有一个ScrollViewer
我正在不时更改BitmapImage
这是图片的来源。我发现应用程序的内存使用量超过2GB,即使图像总共只有100MB! (我不知道超过2GB可以分配给一个应用程序)并且有时它会崩溃。内存使用 每隔一段时间变小,但速度不够快。我的假设(由于缺少更好的,欢迎任何其他想法)是ScrollViewer缓存图像,即使在BitmapImage被另一个替换后也不会释放缓存。
有没有办法告诉ScrollViewer不要缓存图像?
此外,我如何查看内存的去向?我正在使用VS2015,所有诊断工具都显示我使用的总内存。
答案 0 :(得分:3)
VisualStudio 2013将允许您profile memory usage。或者,您可以使用PerfView(由Microsoft提供)。两者都会告诉你哪些物体正在吞噬你的记忆。我已成功使用这两个选项来确定与您类似的问题的根本原因。还有一些第三方工具可以做同样的事情。
或许对this other question的回复很有帮助。在将BitmapImages
作为Image
和ScrollViewer
的来源之前,您似乎需要冻结{{1}}。
我会将此作为评论发布,因为我实际上没有解决方案,但我没有足够的代表。