FrameworkElement's加载事件-垃圾收集

本文关键字:事件 加载 FrameworkElement | 更新日期: 2023-09-27 18:14:20

我使用的是XAML视图的Loaded/Unloaded事件。

Constructor()
{
   InitializeComponent()
   Loaded += LoadedEvent;
   Unloaded += UnloadedEvent;
}

是否需要解开这些事件,如Loaded -= LoadedEvent??或者它不会影响视图的垃圾收集?

FrameworkElement's加载事件-垃圾收集

在View被销毁的情况下,你不需要担心解开这些事件处理程序。垃圾回收会处理这个

对于事件处理,如果发布者生命周期超过其订阅者 (发布者通过调用列表保持订阅者实例),则会发生内存泄漏。

但是,在您的情况下,发布者和订阅者是相同的。因此,您不必担心解开这些事件处理程序。

你可以在这里阅读更多关于为什么和如何避免事件处理程序内存泄漏