2017-10-02 5 views
1

Je rencontre des problèmes lors du téléchargement d'images haute définition dans mon application. J'ai une vue en grille et quand j'ajoute la photo, l'application se bloque en déclarant que c'est un problème de mémoire.Utilisation d'images haute définition en android

Une solution que j'ai faite était de diminuer la taille de l'image à travers un site web (https://www.befunky.com/create/resize-image/) mais l'image devient blurie. Également utilisé une solution qui est présente sur le site officiel des développeurs Android (https://developer.android.com/topic/performance/graphics/load-bitmap.html), sans succès (l'application devient trop lent et j'ai le résultat précédent).

J'ai vu beaucoup d'applications où ce n'est pas un problème et je veux apprendre comment ils le font correctement.

Répondre

0

Essayez Picasso, il peut charger une image dans votre imageView à partir de votre drawable (ou url), et sa méthode fit() vous permet de réduire l'image à la résolution la plus faible possible, sans affecter la qualité.

Fondamentalement, il mesure les dimensions de la ImageView cible et utilise resize() pour réduire la taille de l'image aux dimensions de votre ImageView:

image de haute qualité dans le dossier drawable:

Picasso.with(context) 
     .load(R.drawable.image) 
     .fit() 
     .into(imageView); 

image de haute qualité à partir d'une url:

Picasso.with(context) 
     .load("www.url.com/image.jpg") 
     .fit() 
     .into(imageView); 

Vous pouvez trouver plus de détails sur la façon d'utiliser en forme, le redimensionnement et la mise à l'échelle avec Picasso here.