Aller au contenu

Actualiser ImageView (meilleur méthode)


Pierre87

Recommended Posts

Bonjour,

Dans mon application, j'ai besoin de rafraichir une ImageView de temps en temps (à la demande de l'utilisateur).

Mon ImageView est basée sur une Bitmap, en utilisant setBitmap.

L'actualisation de l'ImageView se fait en recevant une nouvelle Bitmap de la taille de l'ImageView (on écrase tout)

J'ai pensé à 2 manières de rafraichir mon ImageView :

Actualiser la Bitmap actuelle, en utilisant les données de la nouvelle Bitmap, puis rafraichir la View

           update.getPixels(this.pixels, 0, width, 0, 0, width, height);
           this.bitmap.setPixels(this.pixels, 0, width, 0, 0, width, height);

           this.postInvalidate(0, 0, width, height);

           update.recycle();

Remplacer la Bitmap précédente de l'ImageView par la nouvelle Bitmap, en utilisant setBitmap.

Laquelle de ces 2 méthodes vous semble la plus pertinente ?

Moi je penche pour la 2eme, mais elle demande à être faite dans le thread graphique ...

Merci

Lien vers le commentaire
Partager sur d’autres sites

Ta première méthode manipule "un par un" (plus ou moins) les pixels de ton image pour faire une copie. La seconde ne fait qu'affecter des référence d'objets. Cette seconde sera forcément plus rapide. Reste à bien gérer la libération de l'ancienne Bitmap pour ne pas se retrouver avec des saturations mémoire (mais tu as l'air déjà familier du .recycle() alors ca devrait aller).

Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...