系统: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挂在这些映像的内存上,以及确保用于加载它们的内存得到正确恢复的可能解决方案.