5
我在我的MvvmCross应用程序中使用Messenger插件,并且注意到它有时会清除我的订阅(“一个或多个侦听器失败 - 清除计划”)。这在我的应用程序中导致错误。默认情况下,我正在使用订阅的弱引用,并且我不退订邮件。MvvmCross Messenger插件清除订阅
我需要退订吗?是不是允许它被垃圾收集的弱点?
我的BaseView正在构造函数中订阅,如下所示。
public BaseView()
{
_messenger = Mvx.Resolve<IMvxMessenger>();
_messenger.Subscribe<MyMessage>(s => Method());
}
以下是我的广播接收器发布我的消息。
var _messenger = Mvx.Resolve<IMvxMessenger>();
_messenger.Publish<MyMessage>(new MyMessage(this));
我有一个尝试在onDestroy取消订阅的想法。
如果你可以给我一些见解,为什么会发生这种情况,我将不胜感激。
在此先感谢。
这个问题将受益于一些代码,而不是“我的BaseView正在构造函数中订阅,并且想要尝试在onDestroy中取消订阅。” – Stuart
我已经添加了一些代码,如果您需要更多信息,请告诉我。 – Jake