HttpUrlConnection与HttpResponseCache或Volley在android中实现更好的缓存



我正在为Android开发一个应用程序,其中有很多http请求到服务器以获取一些数据。我的回复包括很多图片以及JSON格式的文本。

我想让我的应用程序更快地使用适当的缓存,如谷歌播放,谷歌+和其他应用程序使用。

我已经了解安卓Volley库,并尝试和开发了一些测试样本,它提供了很好的服务,并按预期完美地缓存了我的图像。但最近在互联网上做同样的研究时,我了解了HttpResponseCache类,在那里你可以为Http请求响应安装缓存。

现在我有点困惑我应该去哪一个,我已经尝试过Volley,但没有尝试使用HttpResponseCache

我的问题是:

他们内部也在做同样的事情吗?

如果没有,哪一个会更好。

你的专业建议或经验会为我节省很多时间。

我可以讲述我的经历。我的任务是一样的。我不得不下载很多图片和其他请求。我的第一次尝试是基于HttpUrlConnection,使用HttpResponseCache。它起作用了,但下载速度不够快(12kb的图像已经下载了大约1.5-2秒,这太长了)。所以我不得不找到新的更快的解决方案
我知道凌空抽射,但不知道它的一些功能,尤其是下载的优先级。主要目的正是为了优先考虑,所以我开始创建自己的解决方案。我试着使用apacheHttpClient而不是HttpUrlConnection,它确实更快了,同样的映像已经下载了2亿到3亿次
我无法用HttpUrlConnection实现更快的速度,但由于我不是专家,我认为有一个小错误,HttpUrlConnection可以更快地工作,不幸的是,这个问题对我来说仍然是封闭的。
如果仔细查看Volley源代码,它在API>=9之后使用HttpUrlConnection类,在API 9级之前使用HttpClient类。我没有用凌空抽射来衡量下载速度,所以我不能说它快还是不快。
所以,我得出的结论是,我的解决方案至少花了我3到4天的时间,如果我知道凌空抽打有优先下载权,也许我不必写它(如果它也快的话)。回答你的问题,是的,Volley也这样做,如果你不需要做一些特别的事情,你可以使用Volley,这将比编写自己的解决方案快得多。

最新更新