#wpf
#wpf
Вопрос:
Я пишу приложение WPF.
Но у меня есть некоторые проблемы с утечкой памяти, вызванной WindowsFormsHost.
Это пример кода
public class Class1 : WindowsFormsHost{
public Class1()
{
}
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
}}
а затем вызвал Class1 таким образом.
<Window
x:Class="WpfApp5.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:WpfApp5"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
Title="Window1"
Width="800"
Height="450"
mc:Ignorable="d">
<Grid>
<local:Class1 x:Name="classes" />
</Grid>
После запуска приложения я повторил действие, например, открыть window1 и закрыть window1,
а затем проверить память.
Несмотря на то, что GC собирает память, Class1 часто сохраняется в памяти.
Что мне делать, как мне удалить Class1 из памяти?
—— Добавить ———
Комментарии:
1. Используйте закрытое событие Window для удаления вашего элемента управления.
2. Вы просто закрываете окно или удаляете его? Покажите нам код, как вы это делаете. Просто отредактируйте свой вопрос, чтобы добавить его. Код в комментариях трудно читать…