приращение памяти приложения в браузере при его запуске в течение нескольких часов - PullRequest
0 голосов
/ 30 октября 2018

Я застрял с приращением памяти моего приложения и, поскольку это одна страница, я даже не могу ее перезагрузить. После запуска моего приложения в течение примерно 5-6 часов объем памяти достигает примерно 600 МБ от начальной загрузки, то есть 120 МБ, и мы сделали некоторые исправления для этого, например, сделав ссылку на null в componentWillunMount () и объем памяти уменьшился до 400 МБ после того же тестирования в то же время, но все же я вижу, что в файле моментальных снимков есть много отдельных элементов, определенно вызванных некоторыми другими частями кода, которые мы можем извлечь из встроенной функциональности chrome. Так есть ли способ, которым я могу удалить все отдельные элементы при выходе с определенной страницы, или почему браузер не удалил это из памяти, так как отдельный элемент сохраняет некоторый размер памяти?

1 Ответ

0 голосов
/ 30 октября 2018

Узел DOM можно собирать только в том случае, если на него нет ссылок ни из дерева DOM страницы, ни из кода JavaScript.

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

Также здесь https://developers.google.com/web/tools/chrome-devtools/memory-problems/ Есть много полезной информации, такой как - Исследовать распределение памяти по функциям - Пятно частых сборщиков мусора

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

Я не могу предложить более точного предположения или предположения, если у нас есть I use javascript информация. Бесчисленные последствия бесчисленных комбинаций библиотек, стеков и методов делают невозможным угадывание.

...