Size: a a a

Советский Angular

2020 May 29

AS

Anton Shvets in Советский Angular
Smooth Operator
но но
но возможные утечки жи
ну получается инжектор используется только как фабрика сервисов и чистится из памяти вместе с инстансом компонента
источник

Вキ

Вертихвост キバ 🏡🦊... in Советский Angular
Anton Shvets
ну получается инжектор используется только как фабрика сервисов и чистится из памяти вместе с инстансом компонента
Но ты не чистишь, что дает потенциальную утечку
источник

Вキ

Вертихвост キバ 🏡🦊... in Советский Angular
если вдруг где-то закрепится ссылка на что-то, то прощай память
источник

AS

Anton Shvets in Советский Angular
Вертихвост キバ 🏡🦊
Но ты не чистишь, что дает потенциальную утечку
точно такая же утечка будет, если я заюзаю инжектор компонента например
дефолтно то есть
источник

S

Smooth Operator in Советский Angular
Вертихвост キバ 🏡🦊
если вдруг где-то закрепится ссылка на что-то, то прощай память
+
источник

Вキ

Вертихвост キバ 🏡🦊... in Советский Angular
Anton Shvets
точно такая же утечка будет, если я заюзаю инжектор компонента например
дефолтно то есть
с чего это?)
источник

AS

Anton Shvets in Советский Angular
а с чего нет то?
источник

Вキ

Вертихвост キバ 🏡🦊... in Советский Angular
чтобы утечки не было, нужно ресурсы подчищать
источник

Вキ

Вертихвост キバ 🏡🦊... in Советский Angular
если есть подписки, то отписываться
источник

AS

Anton Shvets in Советский Angular
дестрой все равно руками надо делать в обоих случаях
источник

Вキ

Вертихвост キバ 🏡🦊... in Советский Angular
если прописываешь в провайдерах компонента, то injector тебе уничтожать не нужно
источник

Вキ

Вертихвост キバ 🏡🦊... in Советский Angular
если Angular идеологически предопределяет, что ты у сервиса можешь заюзать хук ngOnDestroy, то ты должен это поддерживать, уничтожив injector, если его создаешь
источник

Вキ

Вертихвост キバ 🏡🦊... in Советский Angular
на любой new должен быть destroy
источник

Вキ

Вертихвост キバ 🏡🦊... in Советский Angular
на любой subscribe должен быть unsubscribe
источник

Вキ

Вертихвост キバ 🏡🦊... in Советский Angular
на любой setTimeout должен быть clearTimeout
источник

AS

Anton Shvets in Советский Angular
Вертихвост キバ 🏡🦊
если Angular идеологически предопределяет, что ты у сервиса можешь заюзать хук ngOnDestroy, то ты должен это поддерживать, уничтожив injector, если его создаешь
да, но он "идеологически" не предоставляет способа уничтожить созданный инжектор
источник

AS

Anton Shvets in Советский Angular
а создавать позволяет
источник

Вキ

Вертихвост キバ 🏡🦊... in Советский Angular
на любой addEventListener должен быть removeEventListener
источник

Вキ

Вертихвост キバ 🏡🦊... in Советский Angular
на любой const dispose: Function = on(); должен быть dispose()
источник

AS

Anton Shvets in Советский Angular
и по сути  я вернулся в исходную точку. куда дели дестрой у инжектора :))
источник