2011-05-04 16 views
0

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

问题是:FixedDocument包含大量资源,其中一些类型为Image,由ImageSources根据资源创建。

该程序正在耗尽内存并很快耗尽GDI手柄。

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

回答

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(); 

模式在安装的DocumentViewer新的固定文档后。所以对我来说,内存使用并不是太糟糕。但这是一个丑陋的解决方法。

看看文章的“位图”部分,它可能适用于您?