Utilizzo Universal Image Loader per visualizzare le immagini nella mia app in visualizzazioni di elenco. Sto usando UnlimitedDiscCache
poiché questo è il meccanismo di cache più veloce secondo la documentazione.Caricatore di immagini universale - svuota la cache manualmente
Tuttavia, vorrei cancellare la cache del disco quando la mia app è chiusa (ad esempio in onStop()
) ma solo i file della cache più vecchi che superano un determinato limite dovrebbero essere cancellati (come fa TotalSizeLimitedDiscCache
).
Sono consapevole del ImageLoader.clearDiscCache()
ma nel mio caso questo cancella la cache completa dal momento che sto usando UnlimitedDiscCache
prima ...
quindi mi piacerebbe avere il meccanismo di cache più veloce quando l'utente è carico e lo scorrimento dei listviews e fai in modo che la cache lenta venga cancellata quando l'utente non interagisce più con l'app.
Qualche idea su come posso raggiungere questo obiettivo?
Non è possibile garantire che l'applicazione si fermi quando viene chiamato 'onStop()'. Questo dice solo che l'attività attuale viene interrotta. La perdita di prestazioni è minima rispetto al tempo impiegato per implementare un altro meccanismo di memorizzazione nella cache (che può comunque rallentare l'app). –
@jeff_bordon Avete qualche codice che viene utilizzato per costruire l'istanza ImageLoader? @Androidy Sì, puoi differenziare quando l'app sta per finire, come 'if (isFinishing()) {fare qualcosa}' –
@jeff_bordon puoi avere BoB (il meglio di entrambi). Vedere la fonte qui https://github.com/nostra13/Android-Universal-Image-Loader/blob/master/library/src/com/nostra13/universalimageloader/cache/disc/impl/LimitedAgeDiscCache.java Scrittura UnlimitedAgeDiskCache essere piuttosto semplice. Tutto quello che devi sapere è la data e la differenza tra ora e poi. Penso che non diminuirà la velocità di ListViews se è questione di pochi se. –