Способы устранения исключения нехватки памяти в методе Bitmap.createBitmapAndroid

Форум для тех, кто программирует под Android
Anonymous
Способы устранения исключения нехватки памяти в методе Bitmap.createBitmap

Сообщение Anonymous »

У меня есть следующий код для преобразования представления в растровое изображение и отправки его на печать.
Он выдает OutOfMemoryError для
Bitmap.createBitmap:
Не удалось выделить 43899852 байта с 9531608 свободными байтами и 9 МБ до OOM.
Можно ли разделить проблему, создать растровые изображения меньшего размера и объединить их или какие-то другие уловки?

Код: Выделить всё

 private fun loadBitmapFromView(context: Context, v: View): Bitmap {
val dm = context.resources.displayMetrics
v.measure(
View.MeasureSpec.makeMeasureSpec(dm.widthPixels, View.MeasureSpec.EXACTLY),
View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED)
)
v.layout(0, 0, v.measuredWidth, v.measuredHeight)
val returnedBitmap = Bitmap.createBitmap(
v.measuredWidth,
v.measuredHeight, Bitmap.Config.ARGB_8888
)
val c = Canvas(returnedBitmap)
v.draw(c)
return returnedBitmap


Подробнее здесь: https://stackoverflow.com/questions/761 ... map-method

Вернуться в «Android»