IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Comment accélérer l'affichage des images ?


Sujet :

Android

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 104
    Points : 66
    Points
    66
    Par défaut Comment accélérer l'affichage des images ?
    Bonsoir!

    Voilà je voudrais savoir comment accélérer l'affichage des images?

    Je m'explique :

    Mon app liste les fichiers internes et externes au téléphone.
    Lorsque je clique sur une image contenue dans le téléphone, elle met au moins une trentaine de secondes avant de s'afficher..

    Je voudrais donc optimiser cet affichage afin que l'utilisateur ne patiente pas pendant ces 30s..

    Que me conseillez-vous de faire? Quelles sont les méthodes recommandées?

    Merci pour vos réponses !

  2. #2
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Points : 4 240
    Points
    4 240
    Par défaut
    Salut,

    Ca le fait pour tout type d'image ? (png, jpg, bmp, etc)
    Ca le fait pour toutes les tailles d'images ? (30Ko, 500ko, 1Mo,..)
    Si vous jugez mon post utile dans la résolution de votre problème, n'hésitez pas à utiliser le système de vote afin d'améliorer la qualité du forum

  3. #3
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Salut,

    Pour reprendre la pensée de MrDuChnok, tu peux essayer de retravailler les images avant de les afficher , en diminuant leur résolution ou changeant leur format.


    Regarde du côté de Bitmap et BitmapFactory.
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  4. #4
    Jay
    Jay est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    124
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2002
    Messages : 124
    Points : 189
    Points
    189
    Par défaut
    Bonjour,

    Tu peux aussi lancer l'affichage dans un thread pour ne pas bloquer ton application.

    Pour ce faire tu implementes "ImageReceivedCallback"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public class MyActivity extends Activity  implements ImageReceivedCallback{
    ....
    public void onImageReceived(ImageDisplayer displayer) {
    		this.runOnUiThread(displayer);
    	}
    et lorsque tu veux afficher ton image :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ImageView tonImage = (ImageView) vi.findViewById(R.id.imgTonImage);
    new ImageReceiver("Le chemin de ton image", this,  tonImage );
    Je sais pas si cela réponds à ta question mais c'est un bon moyen d'afficher les images.

    Cordialement,
    Si vous jugez mon post utile dans la résolution de votre problème, n'hésitez pas à utiliser le système de vote afin d'améliorer la qualité du forum

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 104
    Points : 66
    Points
    66
    Par défaut
    Bonjour et merci pour vos réponses.

    Mr DuChnok :

    Certaines s'affichent un peu plus vite que d'autres..(les plus petites)
    Par contre les photos prise avec le téléphone, c'est horrible... Trop lent à les charger.
    Je voudrais que cela fasse comme pour la Galerie(tous type d'image de n'importe quelle taille s'ouvre rapidement) et je voudrais reproduire cette fluidité dans mon app.

    Que me proposes-tu?
    Merci de ta réponse.

    Fenaorin :

    Oui j'ai regardé de ce côté là, mais cela ne risque pas de déplaire à l'utilisateur?
    Ce que je veux dire c'est que si il veut regarder une photo contenue dans son téléphone via mon app et que le rendu de cette photo est médiocre ...
    Quelle autre alternative aurais-tu?
    Merci.

    Jay :

    Je vais regarder ça de plus près.
    Par contre si je veux utiliser cette méthode pour toutes les images contenues dans le téléphones et sur la SD Externe c'est la même procédure?

    Merci à toi.

  6. #6
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Points : 4 240
    Points
    4 240
    Par défaut
    Tu peux faire un mix de plusieurs solutions :
    Lorsque l'utilisateur souhaites charger une image :
    - tu préload une image en mémoire en diminuant la qualité :
    http://developer.android.com/referen...ory.Options%29
    et
    http://developer.android.com/referen...l#inSampleSize
    et tu affiches cette image (de qualité moindre).

    - puis en tâche de fond, via par exemple la méthode de Jay, tu charges l'image et tu l'affiche dès qu'elle est prete.
    Si vous jugez mon post utile dans la résolution de votre problème, n'hésitez pas à utiliser le système de vote afin d'améliorer la qualité du forum

Discussions similaires

  1. [XML/CSS/XSL] Problème d'affichage des images "dynamiqu
    Par popol55 dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 06/04/2006, 16h24
  2. Mauvais affichage des images et message d'erreur
    Par SLAM JACK dans le forum Langage
    Réponses: 3
    Dernier message: 29/03/2006, 18h11
  3. [WebForms][Xml][Xsl] Comment eviter un décalage des images ?
    Par ekmule dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 14/12/2005, 15h07
  4. Priorité d'affichage des image de fond.
    Par Death83 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 06/09/2005, 18h02
  5. Comment modifier l'affichage des objets cachés de Windows ?
    Par maximdus dans le forum API, COM et SDKs
    Réponses: 23
    Dernier message: 23/07/2005, 11h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo