Сообщение Re: WPF. Финализаторы не вызываются. Утечка памяти от 14.06.2020 16:21
Изменено 14.06.2020 16:57 takTak
Re: WPF. Финализаторы не вызываются. Утечка памяти
во-первых, при отладке код работает по-другому, если ты добавишь в деконструктор вот такой код:
скомпилируешь под релиз и запустишь, то ты увидишь, что ничего не отваливается, а деконструктор вызывается
во-вторых, проблема у тебя совсем другая, в wpf источники утечки, как правило , совсем другие, так что данный пример- не в тему
~Item()
{
using (System.IO.StreamWriter file = new System.IO.StreamWriter(System.IO.Path.Combine(System.IO.Directory.GetCurrentDirectory(), @"WriteLines.txt"), true))
{
file.WriteLine("Item's finalizer is called.");
}
Console.WriteLine("Item's finalizer is called.");
}
скомпилируешь под релиз и запустишь, то ты увидишь, что ничего не отваливается, а деконструктор вызывается
во-вторых, проблема у тебя совсем другая, в wpf источники утечки, как правило , совсем другие, так что данный пример- не в тему
Re: WPF. Финализаторы не вызываются. Утечка памяти
во-первых, при отладке код работает по-другому, если ты добавишь в деконструктор вот такой код:
скомпилируешь под релиз и запустишь, то ты увидишь, что ничего не отваливается, а деконструктор вызывается
во-вторых, проблема у тебя совсем другая, в wpf источники утечки, как правило , совсем другие, так что данный пример- не в тему
сорри, надо и
вызывать
~Item()
{
using (System.IO.StreamWriter file = new System.IO.StreamWriter(System.IO.Path.Combine(System.IO.Directory.GetCurrentDirectory(), @"WriteLines.txt"), true))
{
file.WriteLine("Item's finalizer is called.");
}
Console.WriteLine("Item's finalizer is called.");
}
скомпилируешь под релиз и запустишь, то ты увидишь, что ничего не отваливается, а деконструктор вызывается
во-вторых, проблема у тебя совсем другая, в wpf источники утечки, как правило , совсем другие, так что данный пример- не в тему
сорри, надо и
do
{
Item item = new Item();
GC.Collect();
GC.WaitForPendingFinalizers();
} while (true);
вызывать