У меня есть веб-страница, которая использует jquery для получения информации о продукте, когда люди смотрят на вещи, а затем отображают последние изображения продуктов, которые были замечены. Это обратный вызов jquery AJAX, который выглядит примерно так:
if(number_of_things_seen > 10) {
$('#shots li:last-child').remove();
}
$('<li><img src="' + p.ProductImageSmall + '"></li>').prependTo('#shots');
Тем не менее, кажется, что утечка довольно большой памяти. Визуально это делает правильно, но след растет бесконечно.
Инспектор Safari по DOM показывает, что DOM - это то, как я и ожидал, но, похоже, он поддерживает ссылки на каждое отображаемое изображение (как видно на на этом скриншоте на случай, если кому-то это интересно).
Я добавил
$('#shots li:last-child img').remove();
к заявлению об удалении без видимого эффекта.
Есть ли какая-то магия, необходимая, чтобы позволить браузеру выпустить некоторые из этих вещей?