Google Volley vs Android-Async-Http

时间:2014-08-17 06:30:03

标签: android android-volley androidhttpclient android-async-http

我正在研究这两个Android Http Networking库。

我希望有些人使用这两个库的经验。就个人而言,我总是非常高兴地使用http://loopj.com/android-async-http/图书馆。但最近我建议使用Volley Framework。

我可以从一方面获得什么好处呢? 从我的阅读到目前为止,Volley在一个库中集成了许多不错的功能,如图像加载,请求缓存,请求取消。

我目前的使用案例/规格:

从我的Android应用程序中使用Web服务。

  • 从Web服务接收JSON对象
  • 易于与GUI集成
  • 原始性能的稳定性和可靠性
  • 图书馆的长期维护和支持。
  • 易于使用/易于实施

从SE上读到的一些内容:

"排球一切都很好,但是,在负面,它是一个没有证件,没有支持,并且#34;将代码扔到墙上并在其上做一个I | O演示" 。文库"

所以我认为它清晰的Volley可能会获得功能,但是它的记录和维护情况如何?如果我决定使用它,那么4年后它还会得到支持吗?

3 个答案:

答案 0 :(得分:6)

Volley和Android Async Http是不同的东西。

  • Android Async Http :是一个功能强大的Http客户端。提供一些功能作为REST帮助程序和与其他库进行JSON解析的集成。

  • Volley :是一个REST帮助程序/库,可以帮助您处理异步请求和图像加载。 Volley它不是一个http客户端。 Volley使用SDK http客户端(apache或httpclient,具体取决于API级别),如果你不提供一个,但是一个普通的volley客户端是OkHttp(https://goo.gl/nl2DfN)。您也可以轻松地将Volley与Gson集成。

从我的角度来看,您为单个库提供的责任,更少的自定义以及您需要添加的更多不需要的代码。这就是因为Android Async Http或ION的库现在正在失去控制的原因,而其他选项如Square解决方案(Okio + OkHttp + Retrofit + Moshi + Picasso - 这五个库)正在获得控制权。所以这里有5个库可以单独使用,也可以单独使用2,3或4个。这就是灵活性和功能。

有关此take a look at this answer.

的进一步阅读

答案 1 :(得分:1)

我们目前在我们的应用程序中使用了Volley和GSON的组合。我们无法做到,我们几乎可以使用您能想象到的每种类型的HTTP请求。目前包括:

  • 使用JSON响应的正常HTTP请求
  • 使用表单编码数据和原始字节数组的POST请求
  • 使用大型对象(如图像和文件)的多部分HTTP请求
  • 自定义请求标头
  • 国际化请求

我们还没有遇到一个我们无法克服的障碍,尽管我们必须编写大量代码来支持所有这些功能并构建我们想要的框架,但任何HTTP库都应该这样。

此外,Volley还提供了一个处理图像缓存的ImageLoader,以及一系列其他漂亮的功能。

答案 2 :(得分:0)

Android Volley和AsyncTask之间的区别

试试此链接http://www.truiton.com/2015/02/android-volley-vs-asynctask-better-approach/

使用AsyncTask是一种很好的方法,但将Android Volley视为它的2.0版本。它比AsyncTask有许多改进,因为volley是为了网络访问而设计的。 Android Volley优于AsyncTask的一个主要优点是,您可以同时执行多个请求,而无需线程管理的开销。另外我认为重试机制是凌空的一个很大的特点,它使它比AsynTask更具优势。与AsyncTask相比,凌空的另一个优点是它为您提供了多种请求类型,通过它们可以轻松地进行复杂请求。另一方面,在使用AsyncTasks时,必须手动创建此类请求。

尽管最佳方法因应用程序而异。就像你没有更少的请求,你可以使用AsyncTask。至于排球,必须导入一个库项目,这会增加你的项目规模。因此在截击和AsyncTask之间明智地选择。希望这个Android Volley vs AsyncTask总结帮助你选择。