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