WPF GridView Telerik-应用程序内存问题

WPF GridView Telerik-应用程序内存问题,wpf,gridview,telerik,telerik-grid,Wpf,Gridview,Telerik,Telerik Grid,我在排序、筛选、分组、分页时出现以下内存问题…: 我打开任务管理器来监控我的应用程序的内存,加载所有数据(比如500条记录,90列)后,应用程序的内存大约为150mb,然后每次我重复一个操作(我尝试对任何列重新排序),内存都会增加、增加、增加和永不释放 我用示例尝试了相同的测试用例,在加载一些内存后,GC释放了未使用的内存 请帮忙,我会感谢你的任何提示 代码 <telerik:RadGridView Name="dataGrid" Margin="4" Grid.Row="3" Item

我在排序、筛选、分组、分页时出现以下内存问题…:

我打开任务管理器来监控我的应用程序的内存,加载所有数据(比如500条记录,90列)后,应用程序的内存大约为150mb,然后每次我重复一个操作(我尝试对任何列重新排序),内存都会增加、增加、增加和永不释放

我用示例尝试了相同的测试用例,在加载一些内存后,GC释放了未使用的内存

请帮忙,我会感谢你的任何提示


代码

<telerik:RadGridView Name="dataGrid" Margin="4" Grid.Row="3" ItemsSource="{Binding Items}" IsReadOnly="True" SelectionMode="Extended" AlternationCount="2" AlternateRowBackground="LightGray" FrozenColumnCount="{Binding FrozenColumnIndex}" AutoGenerateColumns="False" RowIndicatorVisibility="Collapsed"  view:GridViewHeaderMenu.IsEnabled="True" SelectedItem="{Binding SelectedItem, Mode=TwoWay}">
    <telerik:RadGridView.Columns>
        <view:NumberColumn Header="#" Width="50" DataPager="{Binding ElementName=radDataPager1}" />
        <telerik:GridViewDataColumn Header="Col1" HeaderTextAlignment="Center" DataType="{x:Type System:String}"   DataMemberBinding="{Binding Value1}" view:GridColumnToolTip.TextTooltip="{Binding DataContext.ColumnsDescription.Value1ColumnTooltip, ElementName=userControl}"/>
        <telerik:GridViewDataColumn Header="Col2" HeaderTextAlignment="Center" DataType="{x:Type System:Int32}"   DataMemberBinding="{Binding Value2}" view:GridColumnToolTip.TextTooltip="{Binding DataContext.ColumnsDescription.Value2ColumnTooltip, ElementName=userControl}"/>
        <telerik:GridViewDataColumn Header="Col3" HeaderTextAlignment="Center" DataType="{x:Type System:Double}"   DataMemberBinding="{Binding Value3}" DataFormatString="N3" view:GridColumnToolTip.TextTooltip="{Binding DataContext.ColumnsDescription.Value3ColumnTooltip, ElementName=userControl}"/>
        <telerik:GridViewDataColumn Header="Col Hide/Show Binding" HeaderTextAlignment="Center" DataType="{x:Type System:String}"   DataMemberBinding="{Binding Value4}" IsVisible="{Binding IsIndividual}" view:GridColumnToolTip.TextTooltip="{Binding DataContext.ColumnsDescription.Value4ColumnTooltip, ElementName=userControl}"/>
        <!--other 90 columns-->
        </telerik:RadGridView.Columns>
</telerik:RadGridView>
<StackPanel Orientation="Horizontal" Grid.Row="4" HorizontalAlignment="Left" Margin="4,0,0,0" VerticalAlignment="Center">
    <telerik:RadDataPager x:Name="radDataPager1" PageSize="20"  DisplayMode="All" Source="{Binding Items, ElementName=dataGrid}"
        IsTotalItemCountFixed="True" HorizontalAlignment="Center" VerticalAlignment="Center"/>
    <TextBlock TextWrapping="Wrap" Margin="8,0,0,0" HorizontalAlignment="Center" VerticalAlignment="Center" FontSize="10.667"><Run Text="Ta"/><Run Language="es-es" Text="maño de página:"/></TextBlock>

    <telerik:RadNumericUpDown NumberDecimalDigits="0" Value="{Binding PageSize, ElementName=radDataPager1, Mode=TwoWay}" Minimum="1" VerticalAlignment="Center" HorizontalAlignment="Center" Margin="4,0,0,0"/>

</StackPanel>


150 Mb太多了。请将您的代码与数据库连接后发布。然而,90列确实太多了。只是为了比较,我得到了大约7 Mb的20列。@FeliceM我不担心最初的150 Mb,因为实际上有很多数据,我担心的是没有释放的内存。如果用户与网格进行大量交互,应用程序可以获得2GB或更多的内存。这说明GC没有获得可用的内存