В нескольких руководствах и документации, которые я прочитал о Angular наблюдаемых, я видел много предупреждений о том, как отказ от подписки на подписку может привести к утечке памяти (если только не используется канал asyn c в шаблон компонента).
В моем приложении есть несколько классов поддержки, в которых я создаю настраиваемые наблюдаемые, но мне было интересно, важно ли отменить их подписку, если и наблюдаемый, и все подписчики go находятся вне области видимости , Например, у меня есть родительский класс, который содержит карту дочерних объектов в массиве. Родитель подписывается на наблюдаемое для каждого из его дочерних элементов, чтобы обнаруживать изменения в свойстве «value», а родительский объект пересчитывает свое свойство «total» всякий раз, когда дочерний элемент изменяет свое значение.
Затем скажите, что родительский объект выходит из области видимости, и, как правило, родитель и все дочерние элементы будут собираться мусором, если вокруг не остается никаких живых ссылок ни на один из дочерних объектов. Нужно ли, чтобы родитель отказался от подписки на каждую из подписок childchange, чтобы подписка была выпущена? Или сама подписка собирает мусор, когда подписчики или наблюдаемый объект go выходят за рамки? Или сама активная подписка будет поддерживать жизнь родителя и, следовательно, всех детей?