У меня есть приложение, которое показывает пользователю довольно много изображений, и мы видим много сообщений об ошибках с исключением OutOfMemoryError
.
В настоящее время мы делаем следующее:
// 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
?