Je crée un dessin à partir d'un flux http en procédant comme suit.Android Drawable.createFromStream alloué trop de mémoire
HttpClient client = new DefaultHttpClient();
HttpGet get = new HttpGet(url);
HttpResponse response = client.execute(get);
InputStream is = response.getEntity().getContent();
Drawable drawable = Drawable.createFromStream(is, "offers task");
return drawable;
Mon problème est que le Drawable.createFromStream alloue beaucoup plus de mémoire que prévu. L'image que j'essaye de télécharger est 13k, mais l'appel de createfromstream alloue un tampon de 16mb causant une erreur de mémoire insuffisante.
E/AndroidRuntime(8038): Caused by: java.lang.OutOfMemoryError: bitmap size exceeds VM budget(Heap Size=9066KB, Allocated=7325KB, Bitmap Size=16647KB)
Est-ce que quelqu'un d'autre a rencontré ce problème?
J'ai le même problème et je n'ai pas trouvé de solution. –
Le problème que j'avais était en fait un problème avec le coup de tonnerre htc pas de déchets qui collectent quelque chose et puis finalement manquer de mémoire. Même avec l'appel de recycle() sur tous les bitmaps ne sont jamais libérés du tas natif. Le problème a été résolu avec une mise à jour du firmware. –