ViewModel の Reactive Extension (Rx) Observer をクリーンアップするためIDisposable
に withを使用しています。CompositeDisposable
IDisposable
このシナリオでの ViewModelの適切な実装は何ですか? 通常、管理されていないオブジェクトがないため、ファイナライザーを実装しませんが、ファイナライザーは、呼び出しの失敗をキャッチDispose
して、オブザーバーが常に破棄されるようにするのに役立つようです。(私の Observable はアプリケーションの存続期間中インスタンス化されますが、ViewModels はそうではありません。)
ありがとう!
アップデート:
明確化: この場合、Dispose の呼び出しの必要性は少し異なります。Reactive Extensions の Observer は Dispose を使用して、Observable から自身をサブスクライブ解除します。私の場合、多くの短命のオブザーバーを持つ長命のオブザーバーがあるため、Observable->Observer 参照のために明示的に破棄されない限り、オブザーバーは GC になりません。私は Reactive Extensions にまったく慣れていないため、理解が間違っている可能性があります。