Как удалить изображения из памяти в браузере - PullRequest
1 голос
/ 24 марта 2010

Можно ли удалить некоторые изображения из памяти браузера (firefox2) с помощью javascript? Этим я хочу сэкономить драгоценную память браузера и позволить моему веб-приложению работать лучше.

Полагаю, что если возможно, это будет примерно так:

delete (document.images[7]);


document.images[7].src = null;


document.images[7] = null;

Ответы [ 2 ]

3 голосов
/ 24 марта 2010

Самым разумным будет удалить элемент Image из DOM.

var img = document.images[7]; img.parentNode.removeChild(img)

Я не знаю, сколько памяти это спасет тебя, если вообще. Оператор delete ничего не будет делать в этом случае, потому что возвращается HTMLCollection ready-only .

Есть ли какая-то особая причина, по которой вам нужно освободить память? Возможно, есть некоторые утечки памяти? Может быть, это поможет: http://www.ibm.com/developerworks/web/library/wa-memleak/.

0 голосов
/ 26 марта 2010

Вы не можете напрямую удалить что-либо из кеша памяти браузера. Такой детальный доступ невозможен из Javascript. В лучшем случае вы можете удалить изображение с просматриваемой страницы, удалив любые ссылки на это конкретное изображение из дерева DOM.

Вам также придется удалить его из других окон / вкладок. В этот момент, если на него больше нет ссылок, сборщик мусора в браузере МОЖЕТ включиться и очиститься, но вы не можете заставить сборщик мусора включиться. Вы можете ПОПРОБОВАТЬ, загрузив кучу других изображений / контента, но тогда ты просто теряешь память в любом случае.

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