Поворот изображений на android. Есть ли лучший способ?

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

10
задан Draiken 28 November 2011 в 11:09
поделиться