Я хочу, чтобы отобразить изображение на экране (у меня есть деятельность, которая отображает изображение):Android OutOfMemoryError при попытке повернуть изображение
Bitmap bitmap = BitmapFactory.decodeFile(imagePath);
ExifInterface exif = new ExifInterface(imagePath);
int rotation = exif.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_NORMAL);
int rotationInDegrees = exifToDegrees(rotation);
Matrix matrix = new Matrix();
matrix.preRotate(rotationInDegrees);
bitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true);
Последняя строка кидает java.lang.OutOfMemoryError
Я не понимаю, как это сделать ... Мне сначала нужно создать растровое изображение (BitmapFactory.decodeFile), но когда я хочу повернуть его, я должен уже предоставить исходное растровое изображение - как я могу его избежать?
Благодаря
largeHeap - временное решение. Вы не можете действительно полагаться на этот флаг в производственных приложениях, потому что приложение с использованием excesive памяти будет уничтожено системой. – Zielony