1

Dans android de nombreuses bibliothèques de chargement d'images (comme Picasso - qui utilise 2% du stockage pour le cache disque, Glide) utilisent le cache disque en plus de la mémoire cache lru. Je peux comprendre pourquoi cela peut être utile pour les images téléchargées du réseau - si le cache en mémoire est plein, lisez-le à partir du disque plutôt que de les récupérer à distance - évitant ainsi la latence du réseau, etc. sur l'appareil Android lui-même - gagnons-nous quelque chose en utilisant un cache disque séparé avec les données bitmap sérialisées - puisque les données devront être lues à partir du disque de toute façon? Probablement logique si votre application a besoin d'une vignette et sous-échantillonner l'image originale une fois et la stocker dans le cache? Existe-t-il des études montrant des gains de perf. J'ai vu l'utilisation du cache disque dans googles samples et d'autres bibliothèques bitmap cache.DiskLRUCache pour Bitmaps (et autres) dans Android

+0

Grand sujet. J'ai eu des problèmes OutOfMemory lors du chargement des vignettes de l'appareil, lorsque je manipule des images que j'utilise toujours avec Glide ou Picasso, mais j'ai remarqué qu'avec Piccasso, il m'arrive parfois d'avoir des problèmes de mémoire lorsqu'il s'agit de grandes images. Serait bien si quelqu'un avec plus de connaissances sur penser pourrait répondre. –

Répondre

0

alors voici quelques refs que je trouve dans les AOSP docs:

Un cache de mémoire est utile pour accélérer l'accès à récemment vu bitmaps, mais vous ne pouvez pas compter sur les images étant disponibles dans ce cache . Des composants tels que GridView avec des ensembles de données plus volumineux peuvent facilement remplir le cache mémoire en . Votre application peut être interrompue par une autre tâche comme un appel téléphonique et, en arrière-plan, elle peut être supprimée et le cache mémoire doit être détruit. Une fois que l'utilisateur a repris, votre application doit retraiter chaque image.

Un cache disque peut être utilisé dans ces cas de persister bitmaps traitées et aider à réduire les temps de chargement où les images ne sont plus disponibles dans une mémoire cache. Bien sûr, l'extraction des images à partir du disque est plus lente que chargement à partir de la mémoire et devrait être fait dans un thread d'arrière-plan, comme disque temps fois peut être imprévisible.