使用Retrofit进行并行HTTP请求

我有一个Android应用程序,目前正在使用Volley库来发出网络请求并使用NetworkImageView显示下载的图像。

我想测试Retrofit的function,因为我需要运行大量请求(数千),我有点担心并行执行。 Volley使用RequestQueue处理并行请求,该RequestQueue将并发运行请求限制为4,而其他请求则排队等待执行。 在Retrofit文档中,我没有find任何方法来处理并发请求的数量,我怀疑这些细节留给了这个库中的开发人员。

它是否正确? 如果是这样,是否有任何面向android的实现/库可用? 否则,处理并行请求的最佳做法是什么?

  • 如何在Retrofit 2中完成error handling? 我找不到大多数解决方案提出的RetrofitError类?
  • “改造”在一个多部分请求中附加的多个图像
  • 改造和集中error handling
  • HTTP GET请求正文RETROFIT
  • 如何使用Retrofit为所有请求定义标头?
  • Retrofit中的IllegalArgumentException /必须没有替换块
  • 有没有办法设置一个基本请求参数,以包含在使用Square的Retrofit库进行的每个请求中?
  • 改造“授权”,“持票人”+令牌
  • Retrofit使用Executor对请求进行排队。

    默认使用Executors.newCachedThreadPool ,它允许无限制的线程。 这适用于大多数用例,因为通常情况下,您一次只会发生一个或两个请求。

    但是,您可以通过在构建RestAdapter时提供自己的行为来更改此行为。 调用setExecutors并传入一个使用受限线程池的执行程序(限制为您想要的任何数字)。 对于第二个参数,只需传递一个MainThreadExecutor的新实例,以便在主线程上发生回调。