У меня есть ссылки, которые загружают страницы в iframe. Я наблюдаю за накоплением данных в памяти с помощью профайлера кучи памяти Google Chrome, и я заметил некоторые утечки в памяти.
Я загрузил страницу и сделал первый снимок, добавленный до 2.69 MB
. Я нажал ссылку, открывающую страницу в iframe, и сделал еще один снимок, дающий мне 14.58 MB
. Я удалил iframe, используя следующий фрагмент jquery:
$('#myframe').unbind();
$('#myframe').remove();
/*
* By the way, I also tried $('#myframe > *') as a selector.
* It still didn't work. Even if it would, it doesn't look like a viable solution to me.
* It looks too resource intensive.
*
* I forgot to mention that I am not using Ajax to load my pages
*/
Я сделал еще один снимок и получил 5.28 MB
, в котором указано отклонение 2.59 MB
от начального значения, которое, согласно моему пониманию, указывает на скрытие памяти.
Теперь, мой вопрос: если я удалю iframe (который включает в себя загруженный в него документ), не собирает ли сборщик мусора также удалить все объекты, содержащиеся в этом документе, из памяти? Или мне нужно сделать это вручную?
Я думал, что если я загружу документ в iframe, размер его не повлияет на использование памяти на родительской странице. Я, хотя это будет рассматриваться как отдельное окно, но, очевидно, это не было хорошо информированным предположением с моей стороны.
Любые предложения по тому, как справиться с этим?
Спасибо.