Как избавиться от FixedDocument - PullRequest
0 голосов
/ 04 мая 2011

В приложении я создаю FixedDocument в качестве предварительного просмотра моей печати.Этот предварительный просмотр обновляется всякий раз, когда пользователь изменяет некоторые данные, создавая новый FixedDocument и заменяя старый, используемый средством просмотра документов.

Проблема заключается в том, что FixedDocument содержит много ресурсов, некоторые из которых имеют тип Image, созданныеиз ImageSources из ресурсов.

Программа потребляет память и скоро заканчивает работу с дескрипторами GDI.

Мой вопрос: как мне распорядиться FixedDocument, чтобы весь контент располагался правильно?

1 Ответ

2 голосов
/ 16 июня 2011

Вот кто-то с такой же проблемой: 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.Так что для меня использование памяти не так уж плохо.Но это уродливый обходной путь.

Взгляните на раздел «Растровое изображение» статьи, может быть, он относится к вам?

...