Создание UserControl без утечки памяти - PullRequest
0 голосов
/ 13 февраля 2019

Я рендерил UserControls для создания PDF, XPS и т. Д. Когда я использую его в приложении WPF, все в порядке.После первого рендера, это займет немного памяти, а затем все в порядке.Но мне нужно вызвать его из приложения, которое находится в потоке MTA.Поэтому мое решение для рендеринга - создать новый поток и установить его в STA и внутри рендера.Но на этот раз память не просочилась.

Может кто-нибудь помочь мне, что с этим делать?

Я действительно в отчаянии.Поделитесь источником примера приложения для меня не проблема.

Спасибо за вашу помощь.

  1. рендеринг в приложении WPF в потоке STA

        inf = true;
        while (inf)
        {
            Wrapper.Render();
        }
    

    использование памяти 1

  2. рендеринг в приложении WPF, но вызов в новом потоке

        inf = true;
        while (inf)
        {
            Thread t = new Thread(Wrapper.Render);
            t.SetApartmentState(ApartmentState.STA);
            t.Start();
            t.Join();
        }
    

    использование памяти 2

...