C# 即使我在Android OnDestroy方法中处理Viewmodel,也有必要处理MvxSubscription令牌吗

C# 即使我在Android OnDestroy方法中处理Viewmodel,也有必要处理MvxSubscription令牌吗,c#,android,xamarin,mvvmcross,C#,Android,Xamarin,Mvvmcross,即使我在Android On Destroy方法中处理视图模型,也有必要处理MvxSubscription令牌。我有一个主视图,它是一个活动,有两个片段Home frag和Map frag与同一个视图模型Homeviewmodel关联,因此当我从HomeView导航到Map frag并返回HomeView时,Viewmodel会被销毁,并标记销毁标记的代码 public override void DisposeImpl() { _imageClicke

即使我在Android On Destroy方法中处理视图模型,也有必要处理MvxSubscription令牌。我有一个主视图,它是一个活动,有两个片段Home frag和Map frag与同一个视图模型Homeviewmodel关联,因此当我从HomeView导航到Map frag并返回HomeView时,Viewmodel会被销毁,并标记销毁标记的代码

    public override void DisposeImpl()  
 {           
   _imageClickedToken.Dispose();             
   _commentPostToken.Dispose();           
   _filterArticleToken.Dispose();              
   base.DisposeImpl();  

 } 
但是同样,这些消息没有被订阅。简短回答是否定的

正如您在下面或网站上看到的,您需要保留一个引用,但不需要调用dispose。当对象超出范围时,GC将处理该对象-例如在您的示例中处理ViewModel时

可以随时使用“取消订阅”按钮取消订阅 方法,或通过调用 订阅令牌

但是,在许多情况下,从不调用Unsubscribe/Dispose。相反 侦听器依赖于 MvxSubscriptionToken,用于在对象退出时清除订阅 发生范围和垃圾回收的错误

无论何时订阅,都会发生基于GC的取消订阅 从订阅返回的令牌是垃圾收集的-因此如果 如果未存储,则为