【发布时间】:2015-02-26 13:06:09
【问题描述】:
订阅事件会导致内存泄漏吗?
也就是说,如果在给定的页面中我这样做了
public TestPage()
{
this.InitializeComponent();
myButton.Click += MyButton_Click;
}
private void MyButton_Click(object sender, RoutedEventArgs e)
{
Debug.WriteLine("Hello");
}
我需要打电话吗
myButton.Click += MyButton_Click;
如果是,我应该在哪里调用它?
【问题讨论】:
-
订阅事件实际上使您的对象保持活动状态。因为当事件被调用时,您的类需要处于活动状态才能运行它的注册委托。
-
您可以在 OnNavigatedTo 中订阅事件并在 OnNavigatedFrom 中取消订阅 -= 可能会有所帮助
标签: c# xaml windows-phone windows-phone-8.1