Нет, это не утечка памяти.
Упрощенный граф ссылок может выглядеть примерно так:
Да, график содержит циклическую ссылку, но сборщик мусора вполне способен обнаружить и разрешить эту ситуацию. Весь график будет GC'd после того, как система потеряет свою ссылку на Fragment
, который, как правило, будет примерно в то время, когда он будет удален с экрана.
Я не могу придумать ситуацию, когда WeakReference
был бы необходим для предотвращения утечки памяти. (Я не говорю, что их не существует, я просто не могу их придумать.)
Я вижу WeakReferences
как инструмент для сложных задач управления памятью, который редко появляется в общей разработке приложений. Например: Управление коллекцией крупных предметов, где OK , если некоторые из них получают GC'd (когда заканчивается память), но вы бы вместо сохранили их в оперативной памяти.
IOW: Не храните ссылки, которые вам не нужны, и вы должны быть в порядке.