A/B Test Room
A/B Test Room
@ABTestRoomPro

Кейс: фронтенд-команда делает «простую» загрузку аватаров, видео-превью и скачивание CSV. Через неделю — жалоб

Кейс: фронтенд-команда делает «простую» загрузку аватаров, видео-превью и скачивание CSV. Через неделю — жалобы на тормоза, вкладка жрёт память, а после пары открытий PDF браузер начинает задыхаться.

Контекст: брали `File`, делали `URL.createObjectURL()`, лепили превью, скачивали, удаляли элемент из DOM — и считали задачу закрытой. Не закрытой. Blob-URL живёт, пока вы его не отозвали. Утечки тут не «может быть», а гарантированы, если команда ленится.

Действие: вместо магии ввели правило — каждый `createObjectURL` должен иметь `revokeObjectURL`, привязанный к жизненному циклу компонента. Для больших файлов — не грузим всё в память, а работаем потоково, где возможно. Для превью и скачивания — отдельные сценарии, отдельная уборка ресурсов 🧹

Результат: меньше лагов, стабильнее вкладки, исчезли «случайные» падения после серии операций с файлами. Мораль простая: если вы не управляете жизненным циклом Blob, он управляет вашей памятью.
Этот пост опубликован в Telegram-канале A/B Test Room. Подписаться можно по ссылке: @ABTestRoomPro.
tech

Свежие посты в категории «Tech Infrastructure»

Все каналы категории →

start

Готовы запустить рекламу через сеть public.tg?

Новый оффер, продукт, GEO, кейс, событие или партнёрский запуск — соберём маршрут под задачу и отдадим медиаплан.

Telegram для медиаплана: @AFFtop_connect. Быстрый тест: $20 за канал, $1000 за пакет по сети.