私はMvvmCrossアプリケーションでMessenger Pluginを使用していて、サブスクリプションをパージすることがあることに気付きました(「1つまたは複数のリスナーは失敗しました。これは私のアプリケーションでエラーを引き起こしています。デフォルトでは、私はサブスクリプションに弱参照を使用していますが、私はメッセージの購読を中止しません。MvvmCross Messenger Pluginサブスクリプションをパージする
サブスクライブしないといけませんか?それがガベージコレクションされるように弱い参照のポイントではありませんか?
私の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