Jump to content

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

Link to comment
Share on other 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).

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...