Я сталкиваюсь с проблемой утечки памяти в следующем коде. Выписка из реального кода.
В привязке 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);
});
}