2011-06-21 3 views
1

Dans mon application, je télécharge des images et je veux savoir si je peux obtenir la taille d'un bitmap que j'ai téléchargé. C'est une question simple mais je n'arrive pas à trouver la solution via Google.Y at-il un moyen d'obtenir la taille de stockage d'un bitmap?

est ici le code pour le téléchargement:

Bitmap b = BitmapFactory.decodeStream((InputStream) new URL(theImageUrl).getContent()); 

Répondre

1

d'abord convertir le bitmap en octets [] alors vous pouvez obtenir la taille du bitmap

Essayez avec Thye code suivant

Bitmap bitmap = your bitmap object 
ByteArrayOutputStream stream = new ByteArrayOutputStream(); 
    bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream); 
    byte[] imageInByte = stream.toByteArray(); 
long length = imageInByte.length; 
1
File file = new File("infilename"); 

// Get the number of bytes in the file 
long length = file.length(); 
+0

Merci, mais je n'utilise pas la classe File. J'utilise la classe Bitmap. Recommandez-vous de lancer l'image bitmap dans un fichier, puis de le faire? – NotACleverMan

+0

Ensuite, postez votre code ici de téléchargement du code – ingsaurabh

+0

Pourquoi avez-vous besoin de savoir comment je le télécharge? J'utilise juste une classe Bitmap. Vous savez: "Bitmap b = new Bitmap();" – NotACleverMan

1

utilisation b.getByteCount(); ou voulez-vous interroger la taille du serveur avant de le télécharger?

EDIT: Cette méthode est uniquement disponible pour les API de niveau 12.

+0

Cela renvoie la taille gonflée, pas la taille de stockage. – secureboot

Questions connexes