我需要实现一个大拇指的网格视图。但当我的应用程序达到200拇指时,它开始出现内存问题(当然)。我需要实现一个延迟加载,但我不知道如何检测scrollviewer在gridview上的位置,所以我可以尝试在到达结尾时加载更多图像。
这是我的gridview布局:
有谁知道怎么做?
答案 0 :(得分:1)
在源集合中实施ISupportIncrementalLoading
以支持数据虚拟化,GridView
将处理请求更多项目本身。另外,请确保您未将ItemsPanel
的{{1}}更改为不支持UI虚拟化的GridView
- 例如VariableSizedWrapGrid
。
另外,请确保您不会因任何其他原因而导致内存泄漏。通常,UI虚拟化的200项网格(默认)不应使用那么多内存,除非您的拇指实际上比您显示它们所需的分辨率大得多。检查this question以了解调试泄漏的方法。
答案 1 :(得分:0)
您可以自己创建拇指:只创建较小的图像 - 这就是全部。
new BitmapImage(new Uri(Path)) {DecodePixelWidth = 200}