6
Если я делаю два HTTP-запроса на один и тот же URL-адрес, один с HttpClient, а другой с Volley, запросы Volley занимают гораздо больше времени.Volley: http-запросы slow
Например, в моей тестовой среде:
- использованием HttpClient непосредственно запросить google.com в среднем около 250мс
- с помощью Volley запросить google.com в среднем около 750 мс
вот свалка образца образца Волейбольная просьба:
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-запросе. Почему это так медленнее?
Конечно, кеширование должно сделать Volley быстрее не медленнее. – Intrications
Это медленнее только в первый раз. Затем повторные попытки будут использовать ответ из кеша, а не инициировать другую транзакцию http. –
В журнале Volley показано, что ответ на кеш не используется повторно (с истечением кеша-истек), и для проверки этого требуется всего около 7 мс. Но фактический запрос HTTP занимает 722мс. Запись кеша занимает 16 мс. Поэтому я не думаю, что проблема кэширования. – Intrications