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

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

Я создаю элемент canvas так:

 var canvas = document.createElement('canvas'); 

Я использую этот объект canvas для получения контекста, а оттуда использую информацию из контекста для дальнейшей логики.

 var context = canvas.getContext('2d'); ... // More logic 

Я никогда не добавляю элемент canvas к документу или любому другому элементу, но, используя safari devtools -{amp}gt; вкладку Canvas, я вижу, что элементы canvas постоянно создаются при каждом запуске этого кода. Они имеют размер около 200 КБ каждый, и могут быть сотни, тысячи этих элементов холста, созданных за один сеанс. Если страница перезагружается, они удаляются из памяти и больше не отображаются на вкладке холста.

Однако, если страница не перезагружается и холст создается, вы можете увидеть снижение производительности.

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

Ниже показано изображение вкладки Canvas (работает только в Safari, поскольку более новые версии Chrome и Firefox не поддерживают его). Ожидается первый объект canvas, остальные я бы хотел удалить. Я использую JavaScript и JQuery.

введите описание изображения здесь

Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector