gpt4 book ai didi

WPF 性能

转载 作者:行者123 更新时间:2023-12-02 17:23:03 36 4
gpt4 key购买 nike

我正在构建一个简单的照片库应用程序,它在列表框中显示图像。 xaml 是:

<ListBox x:Name="imageList" Margin="10,10" ItemsSource="{Binding}" Height="500">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding}" HorizontalAlignment="Left"></TextBlock>
<Image Source="{Binding}" Width="100" Height="100" HorizontalAlignment="Center"></Image>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>

此处设置的 DataContext 是 JPEG 图像文件路径的 string[]。

当我使用 10-11 张总大小为 11 MB 的图像时,总内存使用量高达 500 MB!我真的很惊讶,因为这只是一个简单的照片查看应用程序,没有做任何其他事情。运行这个应用程序会让我的机器几乎无法使用。

我在 Vista 上使用 VS 2010 Express、.NET 4。任何人都可以解释一下后台发生了什么需要如此巨大的内存占用吗?可以做些什么来优化它?

提前致谢。

最佳答案

这里的一个关键可能是虚拟化......

另一个键可能是BitmapImage的decodepixelwidth字段

因此通过转换器绑定(bind)您的图像,以返回较少的内存强度图像的解码变体...

http://msdn.microsoft.com/en-us/library/system.windows.media.imaging.bitmapimage.decodepixelwidth.aspx

你也可以给 Dispose of Image in WPF in Listbox (memory leak)一枪!

关于WPF 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3210589/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com