我正在使用IDisposable
withCompositeDisposable
来清理我的 ViewModels 中的 Reactive Extension (Rx) Observers。
IDisposable
在这种情况下,我的 ViewModel 中的正确实现是什么?通常,我不会实现终结器,因为没有非托管对象,但似乎终结器可能有助于捕获任何未接来电Dispose
,从而确保始终释放我的观察者。(我的 Observable 在应用程序的整个生命周期内都会被实例化,而 ViewModel 则不会。)
谢谢!
更新:
一些澄清:在这种情况下,调用 Dispose 的需求略有不同。Reactive Extensions 中的 Observer 使用 Dispose 取消订阅 Observable。就我而言,我有一个长寿命的观察者和许多短寿命的观察者,因此观察者不会是 GC,除非由于 Observable->Observer 引用而显式处置。我对 Reactive Extensions 完全陌生,所以我的理解可能有误。