6

同じ URL に対して 2 つの HTTP 要求を作成すると、1 つは HttpClient のみで、もう 1 つは 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 リクエストにあります。なぜそんなに遅いのですか?

4

2 に答える 2