我目前正在开发一个大量使用图像的 Windows Phone 8 应用程序,因此必须保持低内存使用率。
为了确保内存使用率保持在较低水平,我试图确保尽可能有效地解除事件,当然还有其他事情。
那么问题就变成了哪个内存效率更高?
在 OnNavigatedTo 和 OnNavigatedFrom 事件中进行挂钩/取消挂钩,如下所示:
protected override void OnNavigatedTo(NavigationEventArgs e)
{
MyButton.Click += MyButton_Click(...)
}
protected override void OnNavigatedFrom(NavigationEventArgs e)
{
MyButton.Click -= MyButton_Click(...)
}
或者 xaml 是否足够聪明,可以像这样解开在 xaml 中定义的事件:
<Button x:Name="MyButton" Click="MyButton_Click"/>
在页面被导航离开之后?