来自 URI 的 UWP FlipView 图像(Web)
UWP FlipView Images from URI (Web)
实际上,我有一个包含图像 URI 的列表。在 foreach 循环中,我从这些 URI 创建 Image 对象,如下所示:
foreach (Uri imageUri in uriList)
{
BitmapImage bmi = new BitmapImage(new Uri(imageUri));
Image image = new Image();
image.source = bmi;
flipView.Items.Add(image);
}
现在的问题是,如果有很多图片(100-200),那么在FlipView 中快速滑动时RAM 使用率非常高。我还看到,每张图片都将是 "cached" 之类的,所以如果我返回 FlipView,将不会产生更多的互联网流量。
所以我的问题是,这是正确的方法吗,或者有更好的方法从网络图片中获取 "Image Gallery" 吗?
此致
翻转视图不适用于显示大量项目。您应该改用水平 ListView。
首先,您需要修改 ListView 的样式,将 HorizontalSnapPointsType 属性 更改为 MandatorySingle(以便图像可以像翻转视图一样捕捉到正确的位置)。单元格的宽度应等于 flipview 的旧宽度以确保
从 MSDN 开始,FlipView
最适合不超过 25 个项目(图像)的集合。
您可以做的最好的事情是将`DataVirtualization 添加到您的 FlipView,例如:
<FlipView>
<FlipView.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</FlipView.ItemsPanel>
</FlipView>
关于您的图像 "cached",这是正常的,BitmapeImages 默认缓存您的图像。
实际上,我有一个包含图像 URI 的列表。在 foreach 循环中,我从这些 URI 创建 Image 对象,如下所示:
foreach (Uri imageUri in uriList)
{
BitmapImage bmi = new BitmapImage(new Uri(imageUri));
Image image = new Image();
image.source = bmi;
flipView.Items.Add(image);
}
现在的问题是,如果有很多图片(100-200),那么在FlipView 中快速滑动时RAM 使用率非常高。我还看到,每张图片都将是 "cached" 之类的,所以如果我返回 FlipView,将不会产生更多的互联网流量。
所以我的问题是,这是正确的方法吗,或者有更好的方法从网络图片中获取 "Image Gallery" 吗?
此致
翻转视图不适用于显示大量项目。您应该改用水平 ListView。
首先,您需要修改 ListView 的样式,将 HorizontalSnapPointsType 属性 更改为 MandatorySingle(以便图像可以像翻转视图一样捕捉到正确的位置)。单元格的宽度应等于 flipview 的旧宽度以确保
从 MSDN 开始,FlipView
最适合不超过 25 个项目(图像)的集合。
您可以做的最好的事情是将`DataVirtualization 添加到您的 FlipView,例如:
<FlipView>
<FlipView.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel Orientation="Horizontal"/>
</ItemsPanelTemplate>
</FlipView.ItemsPanel>
</FlipView>
关于您的图像 "cached",这是正常的,BitmapeImages 默认缓存您的图像。