我调用一个方法来取消订阅我的OnDisappearing((中的消息。
我应该在基地之后这样做吗?消失((
protected override void OnDisappearing()
{
base.OnDisappearing();
Unsubscribe();
}
或在基地之前。消失((
protected override void OnDisappearing()
{
Unsubscribe();
base.OnDisappearing();
}
private void Unsubscribe()
{
MessagingCenter.Unsubscribe<SettingsPageViewModel>(this, "OpenATIPage");
MessagingCenter.Unsubscribe<SettingsPageViewModel>(this, "OpenCFSPage");
MessagingCenter.Unsubscribe<SettingsPageViewModel>(this, "OpenCVMPage");
}
作为我的经验法则,不确定其他开发人员是如何做到的,这是我用于OnAppearing
和OnDisappearing
的模式。
protected override void OnAppearing()
{
base.OnAppearing();
// User code for events and such
}
protected override void OnDisappearing()
{
// User code for events and such
base.OnDisappearing();
}
我喜欢在XF决定清理OnDisappearing
事件中的一些资源之前清理所有内容。另外,我喜欢在工作之前打电话给XFOnAppearing
,这样他们就可以先初始化他们需要的一切。