Android Drawable.createFromStream выделил слишком много памяти

Я создаю Drawable из потока http, выполнив следующие действия.

    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;

Моя проблема в том, что Drawable.createFromStream выделяет намного больше памяти, чем следует. изображение, которое я пытаюсь скачать, составляет 13к, но вызов createfromstream выделяет буфер размером 16 МБ, вызывая ошибку нехватки памяти.

E/AndroidRuntime( 8038): Caused by: java.lang.OutOfMemoryError: bitmap size exceeds VM budget(Heap Size=9066KB, Allocated=7325KB, Bitmap Size=16647KB)

Кто-нибудь еще сталкивался с этой проблемой?

6
задан Brian Griffey 13 April 2011 в 18:25
поделиться