Не существует гарантированного способа принудительного сбора мусора, только способ предложить один, использующий System.gc()
.Поскольку данные пикселей растрового изображения хранятся в собственной памяти вне кучи dalvik, предоставление собственной функции (в данном случае recycle()
) даст нам возможность наверняка очистить эти данные пикселей (в конце концов).Обратите внимание, что при использовании recycle()
с этим растровым изображением мало что можно сделать.
Проблема, с которой вы сталкиваетесь, заключается в том, что вы вызываете recycle()
в растровом изображении, которое вы все еще пытаетесь использовать.
Чтобы ответить на ваш вопрос, да, установка растрового изображения в ноль после того, как вы его переработали, это хорошая идея, но она также может быть избыточной.Всегда пытайтесь утилизировать свои растровые изображения, когда закончите с ними.