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 :

Drawable to bitmap ?


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2012
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 75
    Par défaut Drawable to bitmap ?
    Bonjour,

    Apres avoir fait un thread, runnable, tout ca tout ca, je recupere un drawable et j'affiche les images. ect...
    L'image s'affiche dans un DonwloaderImageView, dans une ListView. Problème:
    Les images sont volumineuse, et la ListView n'est pas petite. A chaque fois que je 'scroll' les images qui sont dévoilées sont reconverties de l'url a l'affichage. Ce qui pause un réel problème de ralentissement de l'activité, et un c'est saccadé.

    J'aimerai donc stocker ces images (bitmap) après récupération de l'url convertie dans un drawable.
    Que dois-je faire ci dessous ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    		downloadThread = new Thread() {
    			public void run() {
    				try {
    					if(cache != null) {
    						downloadedImage =  cache.getDrawableForURL(imageURL);   // here
    						if(downloadedImage != null) {
    							animate = false;
    			imageProgressHandler.sendEmptyMessage(COMPLETE);
    								return ;
    						}
    					}
    					animate = true;
    					imageProgressHandler.sendEmptyMessage(DOWNLOADING);
    					try {
    						downloadedImage = Drawable.createFromStream(((java.io.InputStream) new java.net.URL(imageURL).getContent()), "image");
    					} catch (OutOfMemoryError e) {
    						Log.e(TAG,"Out of memory when downloading image : " + imageURL);
    						imageProgressHandler.sendEmptyMessage(FAILED);
    					}
    					if(Thread.currentThread() == downloadThread) {
    						if(cache != null) {
    							cache.setDrawableForURL(imageURL, downloadedImage);
    						}
    						imageProgressHandler.sendEmptyMessage(COMPLETE);
    					} else {
    						return;
    					}
    				} catch (MalformedURLException e) {
    					Log.e(TAG,"Malformed Image URL : " + imageURL);
    					imageProgressHandler.sendEmptyMessage(FAILED);
    				} catch (IOException e) {
    					Log.e(TAG,"IOException while downloading image : " + imageURL);
    					imageProgressHandler.sendEmptyMessage(FAILED);
    				}
    			};
    		};

    bon certes ça fait beaucoup de chose, mais c'est surtout au début qu'il faut se concentrer. Si quelqu'un sait comment résoudre mon problème pour recuperer l'image dans un bitmap a la place, et l'afficher dans une imageView.

    Merci

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    757
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 757
    Par défaut
    Je n'ai pas lu ton code , mais il existe beaucoup de librairies très faciles à utiliser, et qui utilisent un système de cache, pour éviter de re-télécharger à chaque fois les images :
    LazyList ou Android-Universal-Image-Loader

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/10/2002, 18h26
  2. transfert d'un fichier bitmap en socket tcp
    Par localhost dans le forum C++Builder
    Réponses: 5
    Dernier message: 29/07/2002, 00h40
  3. Pb Lecture de bitmap monochrome
    Par Loïc38 dans le forum C++Builder
    Réponses: 4
    Dernier message: 02/07/2002, 18h24
  4. Lecture d'une image bitmap
    Par Geronimo dans le forum x86 32-bits / 64-bits
    Réponses: 18
    Dernier message: 28/06/2002, 12h01
  5. Comment faire pour créer un bitmap
    Par GliGli dans le forum C++Builder
    Réponses: 2
    Dernier message: 24/04/2002, 15h41

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