Вам не нужно удалять слабых слушателей вручную, чтобы они собирали мусор.Не незарегистрированные слушатели вызывают большинство утечек памяти, с которыми вы столкнетесь, поэтому использование слабых слушателей может значительно улучшить стабильность ваших программ.
Однако, чтобы не допустить удаления слабого слушателя до того, как вы будете готовы, вы должны иметь хотя бы одну сильную ссылку на него (или использовать метод экземпляра).Обычно это означает, что все, что зарегистрировано, слушатель должен удерживать до тех пор, пока ссылки на родительский класс не будут удалены.Это делает слушателя последним до тех пор, пока экземпляр, владеющий слушателем, является наиболее распространенным случаем с компонентами.
В некоторых случаях вам придется управлять слушателями, а именно, если вы планируете не слушать длявсю жизнь родителя.Возможно, где вы хотите удалить слушателя, а затем добавить его позже, не часто, но это случается.Вот где слабые слушатели не имеют никакого преимущества перед сильными ссылочными слушателями.
Сборщик мусора быстро удалит слабых слушателей после удаления сильной ссылки на него.Слабые слушатели делают уборку намного проще.Хотя люди осторожны, как я уверен, вы услышите, потому что слабые слушатели довольно плохо знакомы с фреймворками UI.Когда GC был добавлен к основным языкам, большинство людей слишком осторожно относились к этому.
Мы полагаемся на GC, чтобы очистить память, это работает и делает код более стабильным, и в наши дни люди не называют этонебрежный код.Слабые слушатели ничем не отличаются.