Волейбол: медленные HTTP-запросы

Если я делаю два HTTP-запроса на один и тот же URL-адрес, один с HttpClient, а другой с Volley, запросы Volley занимают гораздо больше времени.

Например, в моей тестовой среде:

  • Используя HttpClient напрямую, чтобы запросить средние значения google.com около 250 мс
  • Используя Volley для запроса средних значений google.com около 750 мс

Вот свалка журнала образца запроса Volley:

11:44:14.766: D/Volley(863): [1] MarkerLog.finish: (773 ms) [ ] http://google.com 0xa46e044c NORMAL 1 11:44:14.766: D/Volley(863): [1] MarkerLog.finish: (+0 ) [ 1] add-to-queue 11:44:14.786: D/Volley(863): [1] MarkerLog.finish: (+0 ) [93] cache-queue-take 11:44:14.786: D/Volley(863): [1] MarkerLog.finish: (+7 ) [93] cache-hit-expired 11:44:14.796: D/Volley(863): [1] MarkerLog.finish: (+1 ) [97] network-queue-take 11:44:14.806: D/Volley(863): [1] MarkerLog.finish: (+722 ) [97] network-http-complete 11:44:14.806: D/Volley(863): [1] MarkerLog.finish: (+20 ) [97] network-parse-complete 11:44:14.816: D/Volley(863): [1] MarkerLog.finish: (+16 ) [97] network-cache-written 11:44:14.826: D/Volley(863): [1] MarkerLog.finish: (+0 ) [97] post-response 11:44:14.836: D/Volley(863): [1] MarkerLog.finish: (+7 ) [ 1] done 

Как вы можете видеть, узкое место находится в фактическом HTTP-запросе. Почему это так медленнее?

Похоже, волейбол кэширует ваш ответ. Использование HttpClient напрямую не кэширует ничего.