WPF GridView Telerik-应用程序内存问题
我在排序、筛选、分组、分页时出现以下内存问题…: 我打开任务管理器来监控我的应用程序的内存,加载所有数据(比如500条记录,90列)后,应用程序的内存大约为150mb,然后每次我重复一个操作(我尝试对任何列重新排序),内存都会增加、增加、增加和永不释放 我用示例尝试了相同的测试用例,在加载一些内存后,GC释放了未使用的内存 请帮忙,我会感谢你的任何提示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
代码
<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没有获得可用的内存