我是 Volley 和缓存方面的新手:P。尽管我已经浏览了许多与 Volley 进行图像缓存相关的文章和帖子,但我仍然不清楚使用 Volley 进行图像缓存的最佳/首选方式。像磁盘缓存或内存?Volley 已经提供了哪些支持以及如何提供(与 L1 和 L2 缓存支持相关)?在我的情况下,我使用 NetworkImageView 来填充列表视图,其中包含要从网络中获取的图像。提前致谢!
问问题
11151 次
1 回答
15
对于图像缓存,volley 期望您为图像提供实现内存缓存。此缓存在应用程序运行期间使用,以便使用内存更快地加载时间。
与图像无关,Volley 有自己的磁盘缓存,用于缓存收到的每个响应,默认策略是根据HTTP 响应的缓存标头进行缓存。
如果您在应用程序中加载的图像具有缓存标头,则它们将根据它们缓存在磁盘上,否则不会。
如果您对此策略不满意并想要强制磁盘缓存,则必须编辑/添加一些更改缓存策略的代码。有很多方法可以实现这一点,一种是提供您自己的实现来解析 HTTP 标头。看看HttpHeaderParser
Volley 源代码。
于 2013-10-20T16:45:26.323 回答