2015-11-24 19 views
5

Il mio progetto riguarda l'elaborazione delle immagini in Android. Il mio problema è che quando carico un'immagine da 22MB in un ImageView ottengo un OutOfMemoryError.Android - Come caricare più di 20mb immagine in immagine

Errore:

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)

risposta

0

È necessario ridimensionare l'immagine e carico di sotto-campione di imageview: http://developer.android.com/training/displaying-bitmaps/load-bitmap.html

È possibile utilizzare alcuni lib come Picaso, Glide per farlo.

+1

Grazie per il suggerimento, ma io non wan't per ridurre le dimensioni immagine di risoluzione. usando la risoluzione bitmap sarà cambiato. qualsiasi altra idea al riguardo. –

+0

Utilizzo: Glide.with (this) .load (url) .override (original_width, original_height) .into (myImageView); – phongvan

-1

Aggiungi questo al vostro file manifesto:

<application 
     ... 
     android:largeHeap="true" 
     ... 
     > 
</application>