Согласно Android Developers, определение метода Bitmap.recycle()
:
Освободить собственный объект, связанный с этим растровым изображением, и очистить ссылку на данные пикселей
I' Мы разработали несколько приложений, которые создают/декодируют множество растровых изображений и помещают результирующие растровые объекты в ImageView
s. Иногда у меня возникают известные исключения, такие как:
размер растрового изображения превышает бюджет виртуальной машины
и
ошибка нехватки памяти
. Также я уверен, что у меня нет утечек памяти, которые могут вызвать это. .
После долгих поисков я обнаружил метод «утилизации» и использовал его для освобождения собственной памяти растрового изображения, когда она больше не нужна. Похоже, это очень помогло.
Я спрашиваю, должен ли я что-то делать в этой ситуации, потому что Я знаю, что система все равно делает это, не вызывая ее явно (так ли это? Может быть, я ошибаюсь).
Стоит ли использовать этот метод в подобных ситуациях?
В каких ситуациях следует использовать этот метод?
Стоит ли вообще использовать этот метод?
Заранее спасибо.
ОБНОВЛЕНИЕ:
Google опубликовал эторуководство, в котором говорится:
В Android 2.3.3 (уровень API 10) и ниже рекомендуется использовать recycle().Если вы отображаете большие объемы растровых данных в своем приложении, вы, вероятно, столкнетесь с ошибками OutOfMemoryError. Метод recycle() позволяет приложению освободить память как можно скорее.