【问题标题】:How to dispose a FixedDocument如何处理 FixedDocument
【发布时间】:2011-05-04 12:58:22
【问题描述】:

在一个应用程序中,我创建了一个 FixedDocument 作为我的打印预览。每当用户通过创建新的 FixedDocument 并替换 documentviewer 使用的旧文件来更改某些数据时,都会刷新此预览。

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

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

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

【问题讨论】:

    标签: wpf dispose


    【解决方案1】:

    这里有人遇到同样的问题: 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 上附加新的 FixedDocument 后的模式。所以对我来说,内存使用量并没有增长太糟糕。但这是一个丑陋的解决方法。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-15
      相关资源
      最近更新 更多