我需要实现一个拇指网格视图。但是当我的应用点击 200 个拇指时,它开始出现内存问题(当然)。我需要实现延迟加载,但我不知道如何检测滚动查看器在 gridview 上的位置,因此我可以在它到达末尾时尝试加载更多图像。
这是我的gridview布局:
有谁知道该怎么做?
我需要实现一个拇指网格视图。但是当我的应用点击 200 个拇指时,它开始出现内存问题(当然)。我需要实现延迟加载,但我不知道如何检测滚动查看器在 gridview 上的位置,因此我可以在它到达末尾时尝试加载更多图像。
这是我的gridview布局:
有谁知道该怎么做?
ISupportIncrementalLoading
在您的源集合中实施以支持数据虚拟化,GridView
并将自行处理请求更多项目。还要确保您没有将您的ItemsPanel
of your更改为GridView
不支持 UI 虚拟化的 - 例如VariableSizedWrapGrid
.
还要确保您不会因为任何其他原因而简单地发生内存泄漏。通常,UI 虚拟化(默认)的 200 项网格不应使用那么多内存,除非您的拇指实际上比您需要显示它们的分辨率大得多。检查此问题以了解调试泄漏的方法。
您可以自己创建拇指:仅创建较小的图像 - 仅此而已。
new BitmapImage(new Uri(Path)) {DecodePixelWidth = 200}