Android Volley缓存请求

时间:2019-03-16 17:38:54

标签: android android-volley

我经常查询我的网站;我有REST服务,因此我连接到 www.website.com/path/to/resource/id.json ,并且我使用.bg-text { border: 3px inset #f1f1f1; margin: 20px auto; z-index: 2; width: 80%; padding: 20px; text-align: center; } .btn { display: block; margin: 0 auto; cursor: pointer; }

this官方指南中,您发现在botton上他们建议使用Singleton模式。我正在使用它,并且效果很好。


我无法理解文档中的某些内容。如果您在该页面上查看上面的示例,他们会谈论缓存,并且创建了一个“显式”缓存。

在下面的示例(单例)中,它们未设置任何缓存。所以我的问题是:

  

使用单例模式的请求队列会缓存结果吗?

我关心缓存,因为我多次调用相同的URL(例如www.website.com/rep/table/glass/7.json),缓存会保存连接和请求。模式是否足以允许缓存?我从文档中无法理解。

谢谢

2 个答案:

答案 0 :(得分:1)

Volley支持内置缓存,缓存的关键是请求的“ URL ”。 启用/禁用缓存,设置缓存过期时间(部分过期和全部过期)可以使用 Request 类方法来设置所有此类属性。要进行更多定制,请扩展Request类,然后进行定制。

答案 1 :(得分:1)

是的,您的排球请求将被缓存。 Volley为您设置了默认缓存。 在您使用的Singleton中,当您致电时在排球内部发生

requestQueue = Volley.newRequestQueue(ctx.getApplicationContext())

在getRequestQueue()中,请参见Volley代码here。您不必担心会使用缓存。