Understand memory leaks in JavaScript applications / Понимание утечек памяти в приложениях на JavaScript: Введение

Английский оригинал Перевод на русский

Сожалеем, но текст оригинала доступен только зарегистрированным пользователям.

Имея дело с такими скриптовыми языками как JavaScript, легко забыть о том, что каждый объект, класс, строка, число и метод требуют выделения и резервирования памяти. Специфика этих процессов скрыта за языком и сборщиком мусора, предоставленного средой выполнения.

Stutzer 23.01.13 в 23:25

0
+1

Вы можете написать довольно сложное приложение совершенно не учитывая управление памятью, но, пуская это дело на самотек, вы, вероятно, столкнетесь с существенными проблемами. Объекты, уничтоженные не должным образом, могут оставаться в памяти намного дольше, чем вы полагаете. Такие объекты продолжают реагировать на события и потреблять память. Они могут заставлять браузер PAGE MEMORY с виртуального диска и значительно тормозить компьютер (и, в крайнем случае, крэшить браузер).

Stutzer 23.01.13 в 23:25

0
+1

Утечка памяти это любой объект, в котором более нет необходимости, но при этом он остается в памяти. В последние годы многие браузеры продвинулись в вопросах RECLAMING MEMORY из JavaScript между ерезагрузками страниц. Однако, не все бразуеры ведут себя одинаково. Firefox и старые версии IE имеют историю утечек памяти, которая существовует до тех пор, пока окно браузера не закрыто.

Stutzer 23.01.13 в 23:25

0
+1

Многие классические паттерны, которые исторически служили причиной утечек, больше не "текут" в современных браузерах. Тем не менее, сегодня появились другие ТРЕНДЫ, ведущие к утечкам. Сегодня становятся популярными так называемые одностраничные приложения, работающие без "жестких" перезагрузок страницы. В такой ситуации проблема утечек памяти становится наиболее актуальной, поскольку пользователь может не закрывать и не перезагружать страницу сутками.

Stutzer 23.01.13 в 23:26

0
+1

В этой статье речь пойдет о базовом жизненном цикле объекта, о том, как сборщик мусора определяет, в какой момент зарезервированная под объект память может быть освобождена, и как оценивать потенциальные места, в которых возможна утечка памяти. Также вы узнаете, как использовать инструмент "Heap Profiler" в браузере Google Chrome для диагностирования проблем с памятью. В примерах будет показано, как выявлять утечки памяти с помощью замыканий, консоли и циклов.

Stutzer 23.01.13 в 23:26

0
+1

Вы можете скачать исходный код примеров, использованных в данной статье.

Stutzer 23.01.13 в 23:26

0
Минутку...