Understand memory leaks in JavaScript applications / Понимание утечек памяти в приложениях на JavaScript: Введение
| Английский оригинал | Перевод на русский | |
|---|---|---|
Сожалеем, но текст оригинала доступен только зарегистрированным пользователям. |
Имея дело с такими скриптовыми языками как JavaScript, легко забыть о том, что каждый объект, класс, строка, число и метод требуют выделения и резервирования памяти. Специфика этих процессов скрыта за языком и сборщиком мусора, предоставленного средой выполнения. Stutzer 23.01.13 в 23:25 |
+1 |
|
Вы можете написать довольно сложное приложение совершенно не учитывая управление памятью, но, пуская это дело на самотек, вы, вероятно, столкнетесь с существенными проблемами. Объекты, уничтоженные не должным образом, могут оставаться в памяти намного дольше, чем вы полагаете. Такие объекты продолжают реагировать на события и потреблять память. Они могут заставлять браузер PAGE MEMORY с виртуального диска и значительно тормозить компьютер (и, в крайнем случае, крэшить браузер). Stutzer 23.01.13 в 23:25 |
+1 | |
|
Утечка памяти это любой объект, в котором более нет необходимости, но при этом он остается в памяти. В последние годы многие браузеры продвинулись в вопросах RECLAMING MEMORY из JavaScript между ерезагрузками страниц. Однако, не все бразуеры ведут себя одинаково. Firefox и старые версии IE имеют историю утечек памяти, которая существовует до тех пор, пока окно браузера не закрыто. Stutzer 23.01.13 в 23:25 |
+1 | |
|
Многие классические паттерны, которые исторически служили причиной утечек, больше не "текут" в современных браузерах. Тем не менее, сегодня появились другие ТРЕНДЫ, ведущие к утечкам. Сегодня становятся популярными так называемые одностраничные приложения, работающие без "жестких" перезагрузок страницы. В такой ситуации проблема утечек памяти становится наиболее актуальной, поскольку пользователь может не закрывать и не перезагружать страницу сутками. Stutzer 23.01.13 в 23:26 |
+1 | |
|
В этой статье речь пойдет о базовом жизненном цикле объекта, о том, как сборщик мусора определяет, в какой момент зарезервированная под объект память может быть освобождена, и как оценивать потенциальные места, в которых возможна утечка памяти. Также вы узнаете, как использовать инструмент "Heap Profiler" в браузере Google Chrome для диагностирования проблем с памятью. В примерах будет показано, как выявлять утечки памяти с помощью замыканий, консоли и циклов. Stutzer 23.01.13 в 23:26 |
+1 | |
|
Вы можете скачать исходный код примеров, использованных в данной статье. Stutzer 23.01.13 в 23:26 |
