Mam aplikację, która wyświetla wiele zdjęć dla użytkownika, a my widzieliśmy wiele raportów o błędach z wyjątkiem OutOfMemoryError
.Obracanie obrazów na Androidzie. Czy istnieje lepszy sposób?
Co możemy obecnie zrobić to w ten sposób:
// 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);
Oczywistym Problem polega na tym, że musimy odtworzyć bitmapy z obrazem na pamięć i obrócić matrycę, to jest dość drogie dla pamięci.
Moje pytanie jest prosta:
Czy istnieje lepszy sposób na obracanie zdjęć bez powodowania OutOfMemoryError
?
http://www.twintechs.com/2008/06/frame-by-frame-xml-animation-with-google-android/ –
Na której linii wyrzuca się wyjątek – ingsaurabh
@ Drnik Więc sugerujesz, że obracam obraz animacją nawet, jeśli nie ma być animowaną rotacją? – Draiken