Итерация или принудительная выборка объектов MGLShapeSource, инициализированных с помощью & ldquo; url & rdquo; как источник

Теперь Chrome предлагает гораздо лучшие инструменты для поиска утечек памяти, чем во время большинства ответов.

Здесь вы найдете утечки памяти в javascript с недавним браузером Chrome:

Нажмите F12, чтобы открыть инструменты разработчика и перейдите на вкладку «Память».

Нажмите F12, чтобы открыть инструменты разработчика и перейдите на вкладку «Память». Выполните действие (например, открыв диалоговое окно), которое вы хотите проверить утечки памяти один раз, поэтому потенциальные глобальные службы могут быть загружены. Это предотвращает появление этих объектов, которые намеренно сохраняются как утечки. Теперь выберите «Временная шкала распределения записи» и нажмите «Пуск». Повторите действие, которое вы хотите проверить на наличие утечек несколько раз. Так, например, откройте диалоговое окно, закройте его и повторите. Пока вы делаете это, Chrome рисует временную шкалу с частично серыми или синими полосами. Обычно вы видите панель каждый раз, когда вы выполняете действие на своей странице. Когда панель из нескольких предыдущих итераций действия остается частично синей, обычно это означает, что происходит утечка памяти. Синяя часть панели представляет собой память, которая была выделена в это время и еще не выпущена. Остановите запись, нажав красную точку в левом верхнем углу инструментов разработчика.

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

Chrome Developer Tools - Memory Tab [!d8]

Выполните действие (например, открытие диалог), вы хотите проверить утечку памяти один раз, чтобы можно было загружать потенциальные глобальные сервисы. Это предотвращает обнаружение объектов, которые намеренно сохраняются как утечки.

Теперь выберите «Временная шкала распределения записи» и нажмите «Пуск». Повторите действие, которое вы хотите проверить на наличие утечек несколько раз. Так, например, откройте диалоговое окно, закройте его и повторите. Пока вы делаете это, Chrome рисует временную шкалу с частично серыми или синими полосами. Обычно вы видите панель каждый раз, когда вы выполняете действие на своей странице. Когда панель из нескольких предыдущих итераций действия остается частично синей, обычно это означает, что происходит утечка памяти. Синяя часть панели представляет собой память, которая была выделена в это время и еще не выпущена. Остановите запись, нажав красную точку в левом верхнем углу инструментов разработчика.

Список фиксаторов показывает «родительские» объекты, которые ссылаются на выбранный объект. Теперь вам нужно посмотреть на фиксаторы и ваш код, чтобы понять, почему память не была выпущена. Например, на изображении вы видите объект области видимости. Во второй строке указано, что область - это «контекст в initFormat ()». Проблема заключалась в том, что initFormat был прослушивателем событий, который не был отключен после того, как был оставлен диалог.

Иногда есть кеши, которые сохраняют часть памяти. Обычно вы можете игнорировать их. Когда вы видите, что HTMLDivElement или другие элементы DOM в списке типов объектов выглядят. Если объекты в этом списке выделены красным цветом, это означает, что они больше не присутствуют на вашей странице. Это означает, что они должны быть ссылкой где-то в коде. Возможно, вы забыли отключить прослушиватель событий. Прочитайте об утечках памяти в целом, чтобы вы могли быстрее идентифицировать их в своем коде.

0
задан Croll 14 July 2018 в 00:18
поделиться