Изменение списка растровых изображений из ресурсов

#android

#Android

Вопрос:

Я пытаюсь создать ListAdapter для растровых изображений, хранящихся в assets/ (размер каждого составляет около 300 кб).

У меня 1 действие содержит GridView, а 2-е — это просто ImageView.

Когда я выбираю одно из изображений из 1-го действия для показа во втором действии, а затем пытаюсь сохранить в файловой системе, это часто выбрасывает мне OOM (OutOfMemory) или Bitmap превышает бюджет виртуальной машины.

Мой запрос следующий: какое решение вы можете предложить для организации бимапов из assets/ для использования через ListAdapter?

Ответ №1:

Один из приемов, который вы можете использовать для уменьшения требований к памяти, заключается в передаче параметров используемому вами методу декодирования BitmapFactory. В настройках установите inSampleSize равным 2 или 4, чтобы сократить количество пикселей в 4 или 16 раз соответственно. Смотрите:http://d.android.com/reference/android/graphics/BitmapFactory .Параметры.html#Без выборки

Также не забудьте вызвать Bitmap.recycle() для растровых изображений, которые вам больше не нужны. Это освободит собственную память быстрее, чем ожидание ее сбора мусора.

Комментарии:

1. Спасибо за информацию, это может помочь, потому что мне не нужны изображения высокого качества, просто нужно, чтобы они покрывали весь экран