У меня есть эта проблема, когда я пытаюсь создать новое растровое изображение для другого, например:
first_data = Bitmap.createBitmap(data, 0, 0, data.getWidth() / 2,data.getHeight());
second_data = Bitmap.createBitmap(data, data.getWidth() / 2, 0, data.getWidth() / 2,
data.getHeight() );
Я встречаю OutOfMemoryException...
Если я использую только исходное полное изображение, я не отвечаю этим проблемам, я думаю, что Bitmap.createBitmap() сделает копию исходного первого изображения. Есть способ указать, что я НЕ ХОЧУ сделать копию этого? Большое спасибо!
К сожалению, это выглядит так:
Если ваше исходное растровое изображение было неизменным (isMutable() == false), это дало бы некоторую поддержку тому, чтобы он возвращал объект на основе одного и того же массива байтов, а не копировал его.
Чтобы получить неизменяемое растровое изображение, вы можете попробовать createBitmap (Bitmap) и отбросить все ссылки на оригинал (и/или использовать recycle())?