2015-04-09 18 views
5

Desidero caricare e memorizzare nella cache le immagini solo in memoria e non passarle a una vista e in un secondo momento quando ho bisogno che vengano caricate nell'interfaccia utente per recuperarle dalla memoria cache se esistevano in memoria.Memorizzazione nella cache di scorrimento delle immagini sullo schermo nella memoria

Ho provato:

Glide.with().load(uri).into(new SimpleTarget<GlideDrawable>(WIDTH,HEIGHT) 
{ 
    @Override 
    public void onResourceReady(GlideDrawable resource, GlideAnimation<? super GlideDrawable> glideAnimation) { 
    //left empty 
    } 
    } 
); 

Ma quando in seguito faccio la chiamata per caricare che uri in un ImageView sarà ancora caricare dal percorso e non memoria.

C'è un altro modo per avere immagini memorizzate nella cache senza caricarle sull'interfaccia utente?

risposta

3

La documentazione su come memorizzare nella cache le immagini sul thread in background può essere trovata here.

Ecco alcuni esempi di codice dalla pagina che mostra come un file viene scaricato nella cache, senza visualizzare l'immagine nell'interfaccia utente:

FutureTarget<File> future = Glide.with(applicationContext) 
.load(yourUrl) 
.downloadOnly(500, 500); 

// Can be omitted if you only want to have the data cached (same goes for the "future" instance variable 
File cacheFile = future.get(); 

Tuttavia, assicurarsi di aver configurato Glide in modo tale che la cache è abilitata : https://github.com/bumptech/glide/wiki/Configuration