Когда (если вообще) следует использовать Bitmap.recycle()?

Согласно Android Developers, определение метода Bitmap.recycle():

Освободить собственный объект, связанный с этим растровым изображением, и очистить ссылку на данные пикселей

I' Мы разработали несколько приложений, которые создают/декодируют множество растровых изображений и помещают результирующие растровые объекты в ImageViews. Иногда у меня возникают известные исключения, такие как:

размер растрового изображения превышает бюджет виртуальной машины

и

ошибка нехватки памяти

. Также я уверен, что у меня нет утечек памяти, которые могут вызвать это. .

После долгих поисков я обнаружил метод «утилизации» и использовал его для освобождения собственной памяти растрового изображения, когда она больше не нужна. Похоже, это очень помогло.

Я спрашиваю, должен ли я что-то делать в этой ситуации, потому что Я знаю, что система все равно делает это, не вызывая ее явно (так ли это? Может быть, я ошибаюсь).

Стоит ли использовать этот метод в подобных ситуациях?

В каких ситуациях следует использовать этот метод?

Стоит ли вообще использовать этот метод?

Заранее спасибо.

ОБНОВЛЕНИЕ:

Google опубликовал эторуководство, в котором говорится:

В Android 2.3.3 (уровень API 10) и ниже рекомендуется использовать recycle().Если вы отображаете большие объемы растровых данных в своем приложении, вы, вероятно, столкнетесь с ошибками OutOfMemoryError. Метод recycle() позволяет приложению освободить память как можно скорее.

9
задан Josh Crozier 10 December 2015 в 03:07
поделиться