创建UserControl不会泄漏内存

时间:2019-02-13 12:48:39

标签: c# wpf memory user-controls

我正在渲染用于创建PDF,XPS等的UserControls。当我在WPF应用程序中使用它时,一切都很好。第一次渲染后,它将占用一些内存,并且还可以。但是我需要从MTA线程中的应用程序调用它。因此,我的渲染解决方案是创建新线程并将其设置为STA并在内部渲染。但这一次内存没有泄漏。

有人可以帮我怎么做吗?

我真的很绝望。示例应用程序的共享源对我来说不是问题。

谢谢您的帮助。

  1. 在STA线程中的WPF应用程序中呈现

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

    memory usage of 1

  2. 在WPF应用程序中呈现但在新线程中调用

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

    memory usege of 2

0 个答案:

没有答案