Ho un'applicazione Android che attualmente utilizza la libreria Volley
per effettuare richieste di rete e mostrare immagini scaricate con NetworkImageView
.Richieste HTTP parallele con Retrofit
Vorrei testare le capacità di Retrofit
e poiché ho bisogno di eseguire molte richieste (migliaia) sono un po 'preoccupato per l'esecuzione parallela. Volley
gestisce le richieste parallele con lo RequestQueue
che limita le richieste in esecuzione simultanee a quattro, mentre le altre richieste vengono accodate in attesa di essere eseguite. Nelle documentazioni Retrofit
non ho trovato alcun modo per gestire il numero di richieste concorrenti e ho il sospetto che tali dettagli siano lasciati allo sviluppatore in questa libreria.
È corretto? Se è così, c'è qualche implementazione/libreria orientata ad Android? Altrimenti, quali sono le migliori pratiche per gestire le richieste parallele?
Stai suggerendo di utilizzare un 'ThreadPoolExecutor' per gestire i miei thread? Se sì, lo stavo usando prima di migrare a 'Volley', ma avevo due problemi principali: 1) Stavo perdendo alcune richieste perché la coda era piena, Volley ha una coda illimitata. 2) Alcune richieste sono state rimosse dalla coda perché erano in attesa troppo a lungo. – Vektor88
Sì. L'uso di una coda illimitata risolverà sia 1 che 2. Ci sono alcuni in 'java.util.concurrent' tra cui scegliere. –
Grazie per i suggerimenti, questo è sicuramente funzionante. – Vektor88