Spark中的Flex4图像缓存:列表 - 使用itemDestructionPolicy =“never”

时间:2010-12-23 01:28:46

标签: flex image caching

我有一张带图像的列表。我不是那么担心闪烁,因为我是关于像http://www.example.com/?img=boat&color=453721这样的网址发生的重新加载,我在php端生成并缓存。像http://www.example.com/img/boat.jpg这样的网址没问题。我正在考虑使用服务器重定向(发送标头),希望它有效。

但之前 - 如果列表不是很大 - 我想考虑尝试使用这种方法:http://flexponential.com/2010/01/10/caching-images-loaded-from-a-spark-item-renderer/。那是使用itemDestructionPolicy =“never”和List。该示例是DropDownList,但我想知道如何将其应用于List Skin。

我已经尝试禁用虚拟布局,但这并不令人信服......我希望项目的创建是“按需”...并禁止销毁,直到删除/更改列表,dataProvider,或itemRenderer。或者至少任何其他解决方案并不意味着从服务器重新加载图像。

感谢。

2 个答案:

答案 0 :(得分:0)

如果没有其他帮助,您可以根据字典滚动自己的图像缓存(网址是关键,图像是值)。项目应该询问图像一些ImageLoader类(您自己的),它将检查缓存,如果不存在url,请下载它。图像通过回调函数异步传递给项目。收到结果时,项目应检查它是否已从列表中删除。

答案 1 :(得分:0)

我得到的问题不是由flex客户端直接生成的。只是我的服务器PHP脚本没有发送正确的标题。

一旦开始正确发送“Last-Modified”和“Etag”标题,Flex客户端就会按预期开始运作。