У меня есть приложение, которое отображает довольно много изображений для пользователя, и мы видели множество отчетов об ошибках с исключением OutOfMemoryError
.Вращающиеся изображения на Android. Есть ли способ лучше?
То, что мы в настоящее время сделать это:
// 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);
Очевидная проблема состоит в том, что мы должны воссоздать растровое изображение с изображением на память и повернуть матрицу, это довольно дорого для памяти.
Мой вопрос прост:
Есть ли лучший способ вращать изображения, не вызывая OutOfMemoryError
?
http://www.twintechs.com/2008/06/frame-by-frame-xml-animation-with-google-android/ –
На какой строке выбрасывается исключение – ingsaurabh
@ Dr.nik Итак, вы предлагаете мне поворачивать изображение с анимацией, даже если оно не должно быть анимированным вращением? – Draiken