Ho un'app che visualizza un numero di immagini per l'utente, e abbiamo visto un sacco di segnalazioni di errori con l'eccezione OutOfMemoryError
.Rotazione di immagini su Android. C'è un modo migliore?
Quello che attualmente facciamo è questo:
// Check if image is a landscape image
if (bmp.getWidth() > bmp.getHeight()) {
// Rotate it to show as a landscape
Matrix m = image.getImageMatrix();
m.postRotate(90);
bmp = Bitmap.createBitmap(bmp, 0, 0, bmp.getWidth(), bmp.getHeight(), m, true);
}
image.setImageBitmap(bmp);
Il problema evidente con questo è che dobbiamo ricreare la bitmap dall'immagine sulla memoria e ruotare la matrice, questo è piuttosto costoso per la memoria.
mia domanda è semplice:
C'è un modo migliore per ruotare le immagini senza causare OutOfMemoryError
?
http://www.twintechs.com/2008/06/frame-by-frame-xml-animation-with-google-android/ –
Su quale riga viene lanciata l'eccezione – ingsaurabh
@ Dr.nik Quindi, stai suggerendo di ruotare l'immagine con un'animazione anche se non si suppone che sia una rotazione animata? – Draiken