Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Утечка памяти при изменении height у DIVов (https://javascript.ru/forum/events/81122-utechka-pamyati-pri-izmenenii-height-u-divov.html)

x-citizen 04.10.2020 00:44

Утечка памяти при изменении height у DIVов
 
Всех приветствую! Сделал HTA-страницу, в которой выводятся несколько сотен DIV'ов (индикаторы уровней), для визуальной индикации числового массива. Как бы вертикальные progressbar'ы.. Числа в массиве обновляются с интервалом около 5 сек, и по величине чисел выставляю высоту соответствующего DIV'а таким образом:
function Repaint(){
  for (var i in Numbers) {
    document.getElementById("d"+i).style.height = Numbers[i] +'%';
  }
}
setInterval( Repaint, 5000);

Столкнулся с проблемой увеличения потребляемой памяти в системе (Windows-7). Если числа в массиве не изменять, но продолжать "крутить" в цикле Repaint, то память НЕ "раздувается". Как будто именно изменение размеров DIVов съедает память, а не само обращение к ним..

Прошу помощи, Уважаемые знатоки. В чем может быть причина? Как можно этого избежать? Заранее спасибо!

Aetae 04.10.2020 05:43

В теории ничего в этом коде не может привести к утечкам.
Варианты:
а) (наиболее вероятно) Утечка там, где ты получаешь новые значения для Numbers, а не где их используешь.
б) Попробовать подожднать некоторое время, возможно GC не успеват собирать мусор.
с) Какой-то особый баг IE - попробовать переписать код любыми иными способами и посмотреть что получится.

voraa 04.10.2020 11:54

Какой браузер?
Как вы фиксируете увеличение занятой памяти?


Часовой пояс GMT +3, время: 14:29.