Size: a a a

Советский Angular

2021 May 25

Вキ

Вертихвост キバ 🏡🦊... in Советский Angular
А причём тут зануление полей объекта?
источник

VI

Vadim Ivanov in Советский Angular
так это же аналогия тому, что спросил человек)
источник

VI

Vadim Ivanov in Советский Angular
как я понял конечно
источник

VI

Vadim Ivanov in Советский Angular
так ведь?
источник

Вキ

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

Как бы и так понятно, что ссылки и значения по ссылкам GC заберёт вместе с компонентом, но если вдруг приложению потребуется больше памяти, но ссылка на компонент ещё не удалена, то GC сделает своё дело и сможет освободить память

А так, простое удаление ссылок — это просто хорошая практика
источник

m

mefest in Советский Angular
хорошая практика, но чем это отличается от ручного управления памятью?
источник

VI

Vadim Ivanov in Советский Angular
опять же зависит от объёма хранимого объекта и алгоритмом уничтожения компонентов ангуляра
источник

Вキ

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

Вキ

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

m

mefest in Советский Angular
если программист может этого не делать то он не будет это делать_))
источник

m

mefest in Советский Angular
нужные умные ссылки которые сами бы удалялись_)))
источник

Вキ

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

Давайте определимся, что нам важнее)
источник

E

Eugene in Советский Angular
даешь фронтенд на расте)
источник

m

mefest in Советский Angular
топчик
источник

m

mefest in Советский Angular
наверное wasm уже могет?
источник

Вキ

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

Иначе мы так и будем жарить себе колени от того, что кто-то об этом для нас не подумал
источник

VI

Vadim Ivanov in Советский Angular
В смысле, горячим ноутбуком жарить колени?))
источник

Вキ

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

Ну что это за дела
источник

Вキ

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

Вキ

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

👆 только эти вещи решат 99.9% проблем с производительностью
источник