Realizzo un'app per Android e ho bisogno di caricare un'immagine (bitmap) in una cava e ridimensionarla utilizzando il gesto "zoom pizzico". Quando l'immagine supera una certa dimensione, tuttavia, l'applicazione si arresta in modo anomalo (eccezione OutOfMemory). Come ottimizzo il caricamento e la manipolazione dell'immagine?Caricamento Android di bitmap di grandi dimensioni
Per caricare l'immagine che uso:
BitmapFactory.decodeResource (ctx.getResources(), R.drawable.image)
di disegnarlo:
imgCanvas.drawBitmap (image, posX, posY, null),
Per modificare le sue dimensioni:
Bitmap.createScaledBitmap (originalBitmap, neww, NEWH, true);
inizialmente ho caricare l'immagine nelle sue dimensioni originali (con inSampleSize = 1). Quando faccio lo "zoom in" devo cambiare in Sampleampize con un valore> 1 e poi ritagliare l'immagine? – Giammy
Prima che l'utente esegua lo zoom, si carica l'intera immagine con inSampleSize> 1. Quindi, quando l'utente esegue lo zoom in avanti, in alcuni punti si caricherà di nuovo l'immagine, ma solo una parte e con un inSampleSize con valore inferiore (ma ancora più di 1). Quando l'utente esegue lo zoom avanti e indietro di nuovo, ad un certo punto, inSampleSize = 1 (e avrai caricato solo la parte che è visibile). –