WPF DataGrid巨大的内存使用量

时间:2016-08-08 08:53:22

标签: c# wpf memory datagrid

我刚刚创建了一个非常简单的应用程序。我在启动时加载10000个对象并将其绑定到ListView,如下所示:

   <ListView Grid.Row="3" ItemsSource="{Binding Objects}" VirtualizingStackPanel.IsVirtualizing="False">
        <ListView.ItemTemplate>
            <DataTemplate>
                <TextBlock Text="{Binding Name}"/>
            </DataTemplate>
        </ListView.ItemTemplate>    
        </ListView>

之后我将它绑定到DataGrid:

  <DataGrid Grid.Row="3" ItemsSource="{Binding Objects}" />

表现差异很大。 ListView:加载时间 - 不到一秒,内存使用量150 MB,清洗137MB后 DataGrid:加载时间 - 几秒钟,内存使用量600MB,清理对象集合后下降到500MB

我最担心的是,即使收集是空的,它也不会清理所有东西。在DataGrid中必须泄漏一些东西。我已经阅读了一些关于它的建议并且建议不要使用DataGridCellTemplate并在绑定项中实现INotifyPropertyChanged,但它没有帮助。有什么想法吗?

0 个答案:

没有答案