Привязка к ObservableCollection вызывает утечку памяти

Я связываю ObservableCollection с AreaSeries. OC часто обновляется, и каждый раз, когда он обновляется, он использует больше памяти, без сбора старых данных, поэтому он просто продолжает расти.

Вот мой XAML:

<charting:AreaSeries Name="areaSeries" ItemsSource="{Binding Path=Data}"  HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" DependentValueBinding="{Binding Path=Y}" IndependentValueBinding="{Binding Path=X}" TransitionDuration="00:00:00">
    <charting:AreaSeries.DataPointStyle>
        <Style TargetType="charting:AreaDataPoint">
            <Setter Property="Width" Value="0"/>
            <Setter Property="Height" Value="0"/>
            <Setter Property="Background" Value="DarkBlue"/>
        </Style>
    </charting:AreaSeries.DataPointStyle>
</charting:AreaSeries>

Data является ObservableCollection типа PointViewModel:

public ObservableCollection<PointViewModel> Data
{
    get { return m_data; }
}

PointViewModel инвентарь ViewModelBase:

public class PointViewModel : ViewModelBase

а также ViewModelBase инвентарь INotifyPropertyChanged, IDisposable,

Вот как Data обновлено:

int xPos = 0;
foreach (float fv in m_fHistogramValues)
{
    if (m_data.Count - 1 < xPos)
        m_data.Add(new PointViewModel(m_fHistogramXValues[xPos], fv, false));
    else
    {
        m_data[xPos].X = m_fHistogramXValues[xPos];
        m_data[xPos].Y = fv;
    }

    xPos++;
}

Все, что я могу найти в Интернете, говорит о том, что IPropertyNotified реализовано, чтобы избежать утечек памяти, но я думаю, что оно реализовано правильно. Я что-то пропустил?

0 ответов

Другие вопросы по тегам