从真实代码中提取。
在
CountChanged
ItemChanged
没有这样的漏洞。我该怎么解决这个问题?
private IDisposable _whenActivated;
public MyWindowController(MyViewModel viewModel) : base("MyWindow")
{
ViewModel = viewModel;
_whenActivated = this.WhenActivated(disposables =>
{
var mainThread = RxApp.MainThreadScheduler;
//release issue starts
this.WhenAnyObservable(
x => x.ViewModel.MyArray.CountChanged)
.SubscribeOn(mainThread)
.Subscribe(x => _myListView.ReloadData())
.DisposeWith(disposables);
//release issue ends
// Below is very similar to above, but no leak
this.WhenAnyObservable(
x => x.ViewModel.MyArray.ItemChanged)
.SubscribeOn(mainThread)
.Subscribe(x => _myListView.ReloadData())
.DisposeWith(disposables);
});
}