2016-06-22 1 views
0

J'ai une application où je charge les données utilisateur du serveur et le cache. J'ai aussi des images séparées pour une sorte de catalogue, des images pour le contenu créé par l'utilisateur, etc.Android Images catégories de cache. Comment les faire?

Il y a des types d'images qui doivent être téléchargées et mises en cache tout le temps, et il y a des images qui devraient être temporairement mises en cache pour comme jour ou deux.

J'ai donc 2-3 catégories d'images au total. Pour y parvenir j'ai étendu UniveralImageLoader et fait plusieurs instances avec différents caches.

Le problème est, que UniveralImageLoader n'est plus maintenu et a un défaut majeur avec java.util.concurrent.RejectedExecutionException.

Depuis que j'ai écrit beaucoup de large au-dessus de ma question je simplifie

Comment mettre en œuvre des caches séparés avec des règles différentes dans non UIL bibliothèque de chargement d'image (Glide ou Fresco par exemple)?

Répondre

0

Toutes ces bibliothèques utilisent l'emplacement interne de l'application pour le cache. Certains d'entre eux permettent d'ajouter des propriétés à/après la méthode init(), de sorte que vous pouvez définir un lieu pour enregistrer des images.

Je mis cette place pour Picasso:

public static File getCacheFolder() { File path = SystemInfoUtil.isWriteExternalStoragePermissionGranted() ? new File(Environment.getExternalStoragePublicDirectory( Environment.DIRECTORY_PICTURES), "App Name") : Application.getContext().getExternalCacheDir(); path.mkdirs(); return path; }

+0

Mais comment deux instances de Picasso en même temps configuré avec différents dossiers de cache? – Alpha