От документов до http://developer.android.com/reference/android/graphics/Bitmap.html#recycle%28%29.
Освободите родной объект, связанный с этим растровым изображением, и очистите ссылку на данные пикселя. Это не освобождает данные пикселя синхронно; он просто позволяет собирать мусор, если нет других ссылок. Растровое изображение отмечено как «мертвое», что означает, что оно выдает исключение, если вызывается getPixels() или setPixels(), и ничего не рисует. Эта операция не может быть отменена, поэтому ее следует вызывать, только если вы уверены, что для растрового изображения больше не используются. Это расширенный вызов и, как правило, не нужно вызывать, так как обычный процесс GC освободит эту память, если больше нет ссылок на это растровое изображение.
Таким образом, для вызова не требуется. Единственный раз, когда я когда-либо слышал о необходимости вручную установить объект в null, является его статическая переменная (или какая-то переменная, которая не выйдет за пределы области легко), и вы хотите вывести ее из памяти. Возможно, если вы постоянно выделяете растровые изображения быстро, может возникнуть необходимость попытаться принудительно собрать мусор, но в большинстве случаев это, вероятно, не нужно.
@aryaxt: Обратите внимание, что в то время как финализатор выполнит 'recycle()' для вас, вызов его сам освободит память раньше, что значительно снизит вероятность того, что вы выйдете из кучи. – CommonsWare
да .... еще одна вещь, которую нужно отметить .... вам нужно быть уверенным, что растровое изображение больше не используется до того, как вы переработаете ... иначе вы столкнулись бы с исключениями при попытке использовать переработанное растровое изображение. –
Также, как и в случае с растровыми изображениями Android 3.0, больше не использовать родную кучу. –