如何处置FixedDocument

时间:2011-05-04 12:58:22

标签: wpf dispose

在应用程序中,我创建了一个FixedDocument作为我的打印预览。只要用户通过创建新的FixedDocument并替换文档查看器使用的旧数据来更改某些数据,就会刷新此预览。

问题是:FixedDocument包含很多资源,其中一些是Image类型的资源,是从资源中的ImageSources创建的。

该程序正在耗尽内存,很快就会用完GDI句柄。

我的问题:如何处理FixedDocument以便正确处理所有内容?

1 个答案:

答案 0 :(得分:2)

这是有同样问题的人: http://social.msdn.microsoft.com/Forums/en/wpf/thread/f5216805-5730-4be2-82fa-8a7e7757dd19

也许有帮助?

发现另一篇有趣的文章: http://blogs.msdn.com/b/jgoldb/archive/2008/02/04/finding-memory-leaks-in-wpf-based-applications.aspx

我使用

        GC.Collect();
        GC.WaitForPendingFinalizers();
        GC.Collect();
将新的FixedDocument附加到DocumentViewer后的

模式。所以对我来说,内存使用量并没有增长太多。但这是一个丑陋的解决方法。

看一下文章的“位图”部分,也许它适用于你?