Penso che Ficus Kirkpatrick abbia detto da qualche parte in his presentation on Volley che in modo ottimale, c'è solo uno RequestQueue
.
Se la maggior parte delle attività, servizi e ricevitori fanno uso di Volley, e si fa un sacco di passare tra di loro, ha senso per definire un Singleton RequestQueue
nella vostra Application
oggetto in modo che non si dispone di creare un'istanza di un nuovo RequestQueue
in ogni articolo/servizio/ricevitore onCreate
.
Tuttavia, se avete un sacco di attività, e di utilizzare Volley in solo uno di loro per una richiesta, allora si potrebbe essere meglio definire il RequestQueue
proprio in questo Activity
, o otterrà un'istanza alle attività in che non lo usi Ciò non dovrebbe compromettere la funzionalità, ma potrebbe danneggiare la memoria.
EDIT:
Nel gruppo utente volley, Ficus detto:
RequestQueues sono piuttosto economico (per lo più solo thread). Usiamo più di una nella nostra app per separare le cache.
che ci dice che è anche un caso d'uso valida per utilizzare più RequestQueues
se è necessario disporre di cache separate.
Ma cosa succede se si passa a un'altra attività e si desidera sospendere la richiesta nell'attività precedente, caricare prima la nuova richiesta? – virsir
Questa è una violazione di ciò che un'attività dovrebbe fare. Se si desidera poter annullare un download in corso su Attività, è necessario eseguire il download in un ['Servizio'] (http://developer.android.com/reference/android/app/Service.html). – Maarten