Как удалить элементы с веб-страницы, чтобы освободить оперативную память в Google Chrome - PullRequest
0 голосов
/ 11 июля 2020

Если вы просматриваете веб-страницу с бесконечной прокруткой содержимого, я обнаружил, что при прокрутке на некоторое время использование ОЗУ в Chrome увеличивается и увеличивается. Facebook - хороший тому пример. Я бы подумал, что если вы удалите загруженный контент, Chrome может освободить оперативную память, но, похоже, это не работает. Я даже использовал инструменты разработчика, чтобы удалить всю html страницы, оставив пустую страницу, а Chrome по-прежнему использует то же ОЗУ. Я загружал контент до тех пор, пока использование страницы не достигло 1,2 гигабайта, а затем удалил все html без снижения использования ОЗУ. Я использую диспетчер задач Chrome для измерения использования оперативной памяти на отдельной странице, а не Chrome в целом.

Что касается моего тестирования, я заблокировал загрузку всех изображений и видео, поэтому это не изображения в кеше, забивающие ОЗУ. Благодаря блокировке я смог загрузить очень длинную страницу, которая использовала 7,2 Гб оперативной памяти до сбоя Chrome. У компьютера оставалось более 50 гигабайт доступной оперативной памяти, поэтому он не закончился. Что для меня не имеет большого смысла, так это то, что общая сумма ресурсов, загруженных страницей, составляла всего 221 мегабайт в соответствии с вкладкой сети в dev-tools.

Я пытаюсь понять, что в противном случае мне нужно сделать так, чтобы Chrome освободил память, чтобы я мог продолжить прокрутку страницы. Я пробовал ручной значок tra sh can в инструментах разработчика, но безрезультатно. Обновление невозможно, так как вы начинаете с начала страницы.

Итак, некоторые актуальные вопросы: если я удалю весь контент на странице, как будут какие-либо ссылки на объекты, которые нужно сохранить они живы, когда начинается сборка мусора? Что Chrome хранит в памяти при загрузке нового контента, который увеличивает использование ОЗУ больше, чем фактический размер загруженных данных и добавления объекта в дерево DOM? Есть ли способ вручную просмотреть и освободить объекты chrome, которые есть в памяти? Есть ли сценарий Javascript, который я мог бы запустить, который показал бы что-нибудь полезное?

Я хватаюсь за str aws здесь, но любые советы будут оценены. Спасибо.

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