来自 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 的样式,将 Horizo​​ntalSnapPointsType 属性 更改为 MandatorySingle(以便图像可以像翻转视图一样捕捉到正确的位置)。单元格的宽度应等于 flipview 的旧宽度以确保

MSDN 开始,FlipView 最适合不超过 25 个项目(图像)的集合。

您可以做的最好的事情是将`DataVirtualization 添加到您的 FlipView,例如:

<FlipView>
    <FlipView.ItemsPanel>
      <ItemsPanelTemplate>
        <VirtualizingStackPanel Orientation="Horizontal"/>
      </ItemsPanelTemplate>
    </FlipView.ItemsPanel>
</FlipView>

关于您的图像 "cached",这是正常的,BitmapeImages 默认缓存您的图像。