2013-06-07 23 views
6

Se faccio due richieste HTTP allo stesso URL, una con HttpClient e l'altra con Volley, le richieste di Volley richiedono molto più tempo.Volley: richieste HTTP lente

Per esempio, nel mio ambiente di test:

  • utilizzando HttpClient direttamente per richiedere google.com in media circa 250ms
  • utilizzando Volley richiedere google.com in media circa 750ms

ecco una log dump di un campione Richiesta di pallavolo:

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 

come è possibile vedere, il collo di bottiglia si trova nella richiesta HTTP effettiva. Perché è molto più lento?

risposta

1

Sembra che Volley stia memorizzando nella cache la risposta. L'uso diretto di HttpClient non memorizza nulla nella cache.

+4

Sicuramente il caching dovrebbe rendere Volley più veloce non più lento. – Intrications

+1

È più lento solo per la prima volta. I tentativi successivi utilizzeranno la risposta dalla cache anziché avviare un'altra transazione http. –

+3

Nel registro Volley, mostra che la risposta della cache non viene riutilizzata (cache-hit-expired) e richiede solo circa 7ms per verificarlo. Ma la richiesta HTTP effettiva richiede 722 ms. Scrivere la cache richiede 16ms. Quindi non penso che il caching sia il problema. – Intrications

Problemi correlati