2013-06-21 10 views
11

sto integrando Volley in un progetto e sono imbattuto leGoogle Volley - quando usare Cache.Remove e Cache.invalidate

standard di [Noi abbiamo elementi nella cache, ma voglio permettere all'utente di aggiornare in ogni caso] scenario

Ora Google Volley offre 2 modi per cancellare un elemento dalla cache:

getRequestQueue().getCache().remove(key); 

e

getRequestQueue().getCache().invalidate(key, fullExpire); 

Ho esaminato il codice ed ero un po 'sorpreso, che invalidate con fullExpire impostato su true non si comporta esattamente come una chiamata a remove(key).

Qualcuno può spiegare i vantaggi dell'utilizzo di fullExpire su remove()?

risposta

15

Rimuovi significa che si stanno rimuovendo i dati memorizzati nella cache.

Non valido significa che si stanno contrassegnando i dati come non validi. Quindi volley controllerà con il server se i dati sono ancora validi. La scadenza completa determina se utilizzare i dati prima che il volley li abbia convalidati con il server.

Maggiori dettagli nella fonte: https://android.googlesource.com/platform/frameworks/volley/+/master/src/main/java/com/android/volley/Cache.java

+0

Questo Link è rotto. –

+0

Grazie .. risposta modificata per indicare il collegamento corretto. Hanno cambiato la struttura del codice per utilizzare la convenzione di Studio –

+0

Ciao, ho usato il caching di pallavolo con paginazione quando viene raggiunta la fine del recyclerview recupera newList dal server che viene aggiunto alla fine della mia lista precedente, se abilito la cache allora la lista vecchia è di nuovo spettacolo, quindi ripetere la stessa lista di nuovo, quindi ho bisogno di rimuovere i dati della cache suLoadMoreItems() che viene chiamato alla fine del recyclerView, come posso ottenere questo? –