Я пытаюсь понять значение значения Объем памяти в Chrome (Chrome> Окно> Диспетчер задач). Вот мое окружение:
- Ма c ОС Каталина (10.15.2)
- Chrome 79 в безопасном режиме (расширения отключены)
И это мой простой код:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<script>
document.addEventListener('DOMContentLoaded', function(){
var rAF;
function loop() {
rAF = requestAnimationFrame(loop);
}
rAF = requestAnimationFrame(loop);
});
</script>
</head>
<body>
Memory Leak Test
</body>
</html>
У меня запущена пустая функция requestAnimationFrame()
. Значение JavaScript памяти диспетчера задач начинается примерно с 1 297 КБ, увеличивается примерно до 2 253 К примерно через 30 секунд, а затем, по-видимому, выполняет сборку мусора и повторяет цикл. Эту часть я понимаю.
Что мне непонятно, так это то, что значение занимаемой памяти диспетчера задач со временем продолжает только увеличиваться со скоростью около 1 МБ в минуту. Я обеспокоен тем, что для длительной анимации может быть достигнуто значение sh, если ее не проверять, поскольку занимаемая память занимает слишком много ресурсов.
Для сравнения я также протестировал новое пустое окно браузера и заметил, что значение «Объем памяти» не увеличилось.
Этот пост о переполнении стека связан, но я думаю, это больше связано со значением JavaScript памяти диспетчера задач.
Я надеялся найти более подробную информацию о Memory Footprint на сайте разработчика Google , но он также не дотягивал.
Спасибо за понимание этого вопроса.
Захват экрана с утечкой памяти Анимированный GIF