Flex:在列表项渲染器中缓存图像?

Posted

技术标签:

【中文标题】Flex:在列表项渲染器中缓存图像?【英文标题】:Flex: Caching images in list item renderer? 【发布时间】:2010-12-08 12:00:43 【问题描述】:

我有一个列表,项目渲染器显示一个图像。每当您滚动列表并且项目渲染器刷新时,它都会重新下载图像。导致总是有延迟。有什么方法可以缓存它,这样就不必每次都重新下载导致每次滚动列表时显示图像的延迟?

谢谢!

【问题讨论】:

【参考方案1】:

这是一个很好的源代码解决方案 http://demo.quietlyscheming.com/superImage/app.html

【讨论】:

这么简单普通的事情需要这么多自定义代码,真是太可笑了!【参考方案2】:

我记得不久前为某个项目做过这个,但我处理这个的方式是

当第一次调用获取图像时,检查缓存目录(您选择的目录)中是否存在图像(提前阅读以了解如何关联图像),如果存在则加载它,否则下载图像并将图像名称保存为图像所代表的数据的哈希值,或者可以代表数据的有效键而不会发生冲突的东西。

例如,

缩略图 1 - 字符串 1 缩略图 2 - 字符串 2

我将缩略图 1 保存为字符串 1 的散列,然后下次遇到此字符串 1 时,我会检查缓存目录是否存在代表此的图像,然后我只需加载它,否则我下载它,保存它等等,就像我之前说的:)

【讨论】:

【参考方案3】:

您必须实现自己的缓存。如果用户返回它们,我会存储之前下载的所有图像并加载它们。

【讨论】:

以上是关于Flex:在列表项渲染器中缓存图像?的主要内容,如果未能解决你的问题,请参考以下文章

无法在列表视图构建器中测试没有大小的渲染框

在 Xamarin Forms 自定义标签渲染器中,增加边界的大小

如何在 Xamarin IOS 自定义渲染器中单击 UITextField Rightview 打开 UIPickerView

在一个单元格渲染器中渲染 2 个组件

Flex:将未实现的 UIComponent 渲染到 BitmapData?

有没有办法在片段着色器中使用先前渲染的结果?