7

我是 Volley 和缓存方面的新手:P。尽管我已经浏览了许多与 Volley 进行图像缓存相关的文章和帖子,但我仍然不清楚使用 Volley 进行图像缓存的最佳/首选方式。像磁盘缓存或内存?Volley 已经提供了哪些支持以及如何提供(与 L1 和 L2 缓存支持相关)?在我的情况下,我使用 NetworkImageView 来填充列表视图,其中包含要从网络中获取的图像。提前致谢!

4

1 回答 1

15

对于图像缓存,volley 期望您为图像提供实现内存缓存。此缓存在应用程序运行期间使用,以便使用内存更快地加载时间。

与图像无关,Volley 有自己的磁盘缓存,用于缓存收到的每个响应,默认策略是根据HTTP 响应的缓存标头进行缓存。

如果您在应用程序中加载的图像具有缓存标头,则它们将根据它们缓存在磁盘上,否则不会。

如果您对此策略不满意并想要强制磁盘缓存,则必须编辑/添加一些更改缓存策略的代码。有很多方法可以实现这一点,一种是提供您自己的实现来解析 HTTP 标头。看看HttpHeaderParserVolley 源代码。

于 2013-10-20T16:45:26.323 回答