Point 1:检查Static事件
UserControl或Page中引用了全局事件,不再使用时,需要立即释放掉。
例全局事件:
public class WQEvents
{
public static event DelegateMethod<SettingEventArgs> OnSettingChanged;
public static void DoSettingChanged(SettingEventArgs args)
{
if (OnSettingChanged != null && args != null)
OnSettingChanged(args);
}
}
调用时,比较好的习惯:
private void UserControl_Unloaded(object sender, RoutedEventArgs e)
{
WQEvents.OnSettingChanged -= WQEvents_OnSettingChanged;
}
private void UserControl_Loaded(object sender, RoutedEventArgs e)
{
WQEvents.OnSettingChanged -= WQEvents_OnSettingChanged; // 避免多次附加事件
WQEvents.OnSettingChanged += WQEvents_OnSettingChanged;
}
<