Какой самый безопасный метод утечки памяти - PullRequest
5 голосов
/ 09 апреля 2010

У меня есть таблица часто обновляемой информации. Это представлено с использованием контейнера div с div для каждой строки, каждая строка содержит 10 div.

Я использую setInterval для вызова веб-службы asmx, которая возвращает некоторую информацию в формате json.

При успешном обратном вызове я вызываю $("#myContainer").empty(); для контейнера div и воссоздаю строки и 10 вложенных div для столбцов каждой строки.

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

Другой подход, который я рассматриваю, заключается в добавлении идентификатора в строку div. Когда новые результаты обрабатывают каждый элемент данных, ищите соответствующую строку, если она существует, перезапишите данные в каждом элементе div. Если он не существует (например, новые данные), добавьте строку.

Какие подходы использовали другие для такого рода долгоживущего псевдо-отображения информации в реальном времени.

ТИА

Ответы [ 2 ]

5 голосов
/ 09 апреля 2010

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

1 голос
/ 09 апреля 2010

Время от времени обновляйте страницу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...