При попытке реализовать небольшой кеш-память в Drawables, я узнал, что, чтобы избежать утечек памяти после закрытия активности, мне нужно отпереть эти Drawables: установите для их обратного вызова значение null.
Поскольку для хранения Drawables, кэшированных в каждом действии, потребуется дополнительный код, я попытался отвязать их  сразу после setImageDrawable(drawable), и я пока не вижу никаких последствий. 
Это код из класса MyImageView (extends ImageView):
setImageDrawable(drawable);
d.setCallback(null);
В отладчике я могу ясно видеть, что перед первым обратным вызовом первой строки, после первой строки он установлен на этот образView, а после этого я снова установил его в null. Обычно это отображается после этого.
Документация для setCallback (Drawable.Callback cb) гласит:
Привязать объект Drawable.Callback к этому Drawable. Требуется для клиентов, которые хотят поддерживать анимированные чертежи.
Так как мне не нужен анимированный drawable, я не понимаю, почему я не должен этого делать, но меня беспокоит, что в нескольких блогах об утечке памяти в Android в отношении чертежей это делается только после того, как активность завершена. Вопрос в том, почему callback всегда автоматически устанавливается при привязке к ImageView?
Есть ли какие-то граничные условия, когда эти чертежи с обратным вызовом равны нулю, вызовут проблему? Не отображается или NPE?
