2015-11-24 11 views
5

Mój projekt dotyczy przetwarzania obrazu w systemie Android. Mój problem polega na tym, że po załadowaniu 22MB obrazu w ImageView otrzymuję OutOfMemoryError.Android - jak załadować więcej niż 20mb obrazu w widoku obrazu

Błąd:

java.lang.OutOfMemoryError: Failed to allocate a 244588824 byte allocation with 11397108 free bytes and 79MB until OOM at dalvik.system.VMRuntime.newNonMovableArray(Native Method)

Odpowiedz

0

trzeba zmienić rozmiar obrazu i podpróbę obciążenia do ImageView: http://developer.android.com/training/displaying-bitmaps/load-bitmap.html

można korzystać z niektórych lib Picaso Glide to zrobić.

+1

Dziękuję za sugestię, ale nie wan't zmniejszyć rozmiar obrazu w rozdzielczości. użycie rozdzielczości bitmapowej zostanie zmienione. każdy inny pomysł na ten temat. –

+0

Używanie: Glide.with (this) .load (url) . Override (original_width, original_height) .into (myImageView); – phongvan

-1

Dodaj to do pliku manifestu:

<application 
     ... 
     android:largeHeap="true" 
     ... 
     > 
</application> 
Powiązane problemy