Проблема с памятью в приложении angular Js
Я столкнулся с проблемой утечки памяти в приложении angular js. Я пробовал все возможные решения, такие как инструмент профиля, временные рамки и некоторые другие инструменты, относящиеся к angular js.
Моя работа до сих пор -
Инструмент профилей
В инструменте профиля JS куча продолжает расти, но не может найти причину этого.
![Отдельный элемент dom продолжает увеличиваться]()
Сроки
Он показывает, что есть возможность утечки памяти, но все же я не знаю, как отлаживать и исправлять ее.
![введите описание изображения здесь]()
Диспетчер задач
Он продолжает увеличивать объем памяти. Некоторое время он получает сбор мусора, но не значительно. ![введите описание изображения здесь]()
Пожалуйста, дайте мне знать, как отлаживать и узнавать, что может быть проблемой. Или поделитесь своим опытом, если вы столкнулись с той же проблемой.
Ответы
Ответ 1
У AngularJS есть утечки памяти, когда есть много привязок. Теперь ограничение angularJS состоит в том, что он имеет двухстороннюю привязку. Итак, если вы измените какое-либо значение в модели, просмотрите триггеры $diget(), $watch(). Таким образом, в зависимости от того, насколько велико ваше приложение, оно потребляет память.
Предлагаю несколько шагов:
- Рассчитать angular Объекты области с использованием angular batarang
- Scopes $destroy() Метод свободной памяти
- Попробуйте уменьшить количество потребляемого вами JS на странице. Использовать все, что требуется
В моем приложении я уменьшил количество наблюдателей, и жизнь была легкой.