Précharger des images multiples avec Glide

Nous essayons de précharger les images dans la mémoire cache pour les charger plus tard (les images se trouvent dans le Actifs dossier de l'application)

Ce que nous avons essayé:

Glide.with(this)
    .load(pictureUri)
    .diskCacheStrategy(DiskCacheStrategy.ALL);

Glide.with(this)
    .load(picture_uri)
    .diskCacheStrategy(DiskCacheStrategy.ALL)
    .preload();

La question: les Images sont mises en cache uniquement lorsque nous essayons de charge/afficher:
Elles doivent être chargées dans la mémoire avant de sorte qu'ils apparaissent plus rapidement.

Glide.with(this)
    .load(picture_uri)
    .into(imageView);

Nous avons également essayé d'utiliser un GlideModule pour augmenter la CacheMemory taille:

public class GlideModule implements com.bumptech.glide.module.GlideModule {
    @Override
    public void applyOptions(Context context, GlideBuilder
        builder.setMemoryCache(new LruResourceCache(100000));
    }

    @Override
    public void registerComponents(Context context, Glide glide) {
    }
}

Dans le manifeste:

 <meta-data android:name=".GlideModule" android:value="GlideModule"/>

Rien n'est travaillé jusqu'à présent. Une idée?


Nous d'essayer d'utiliser un invisible 1 dp imageView, mais le résultat est le même:

for(Drawing drawing: getDrawingsForTab(tab)){

    Glide.with(this)
            .load(drawing.getImage().toUri())
            .dontAnimate()
            .diskCacheStrategy(DiskCacheStrategy.ALL)
            .into(mPreloadCacheIv);

    for(Picture picture : getPictures()){

        Glide.with(this)
                .load(picture.getPicture().toUri())
                .dontAnimate()
                .diskCacheStrategy(DiskCacheStrategy.ALL)
                .into(mPreloadCacheIv);
    }
}
  • Peut-être que vous pourriez déjà charger puis dans un invisible imageView lorsque cela est approprié.
  • J'ai mis à jour la question avec votre avis. Ça ne marche toujours pas. Glisser la documentation n'est pas très clair sur ce sujet :/
  • Je n'ai pas utilisé de Glisse. Si vos images sont actifs, je ne suis pas certain pourquoi vous configurez diskCacheStrategy(), car les images sont déjà sur le disque. Êtes-vous sûr que votre mémoire cache est d'être reconnue par les Glisse?
  • De l'actif les images prennent trop de temps à charger dans l'ImageView. Une fois qu'ils ont été une fois chargé en mémoire, c'est immédiat. Ce que je suis en train de réaliser est le deuxième comportement pour la première fois l'image chargée. Ai-je un moyen de savoir dans quel état est la mémoire cache ?
InformationsquelleAutor An-droid | 2016-06-22