相关疑难解决方法(0)

你如何确保WPF从内存中释放大型BitmapSource?

系统:Windows XP SP3,.NET 3.5,4GB RAM,双1.6gHz

我有一个WPF应用程序加载和转换(使用Storyboard动画)非常大的PNG.这些PNG的分辨率为8190x1080.当应用程序运行时,它似乎缓存图像,系统内存缓慢爬升.最终它会阻塞系统并抛出OutOfMemoryException.

以下是我目前正在尝试解决此问题的步骤:

1)我从应用程序中删除BitmapSource对象

2)我在加载BitmapSource时将BitmapSource BitmapCacheOption设置为None

3)我在加载后冻结BitmapSource.

4)我将删除对使用源的Image的所有引用以及对源本身的任何引用.

5)完成上述步骤后,手动调用GC.Collect().

希望找出为什么WPF挂在这些映像的内存上,以及确保用于加载它们的内存得到正确恢复的可能解决方案.

wpf memory-leaks bitmap bitmapsource

14
推荐指数
1
解决办法
1万
查看次数

标签 统计

bitmap ×1

bitmapsource ×1

memory-leaks ×1

wpf ×1