保存在内存中的翻转视图项目

本文关键字:翻转 视图 项目 存在 内存 保存 | 更新日期: 2023-09-27 18:31:16

我注意到 FlipView 控件将一次将其 3 个项目保留在内存中。它将当前选定的项目以及直接位于所选项目左侧和右侧的 Item 保存在内存中(如果方向为垂直,则保留在上方/下方)。

当跳转到不同的翻转视图项目时,这会产生一些不必要的副作用。它们在Surface RT设备上尤其明显(因为它太慢了)。

有没有办法将所有翻视图项目保存在内存中,以便在您滑动时不会加载和卸载它们?

或者也许是一种在加载时缓存翻转视图项目的方法?

感谢您的任何帮助。

保存在内存中的翻转视图项目

为了防止虚拟化,您可以将 ItemPanelTemplate 中的 VirtualizeStackPanel 替换为 StackPanel:

<ItemsPanelTemplate x:Key="ItemsPanelTemplate1">
        <StackPanel AreScrollSnapPointsRegular="True" Orientation="Horizontal" />
</ItemsPanelTemplate>

但是,您必须小心权衡,因为它将加载第一次导航上的所有项目并将它们保留在内存中,直到您导航离开。
也许更好的方法是查看加载时间最长的内容并尝试对其进行优化(例如,如果加载图像或在加载时进行一些数据处理)。