Кстати да, немного ностальгии, старая версия (v1.7) аж 2023 года, которая в рантайме js хранила абсолютно всё библиотечное кушала на ~1600 мп3 треках невероятное кол-во оперативной памяти
Грубоговоря, если бы у вас было ~10.000 песен, то вам бы потребовалось 13гб оперативной памяти на старой версии плеера
Прирост очень сильный после того, как я переписал всё что можно было с учетом эвристик, которые просились.
Принципиальные отличия актуалочки, от того месива:
• использую бд для треков / папок + кверю данные
• виртуализация списков (грубоговоря, в памяти отрисовщика интерфейса хранится ток то, что нарисовано на экране)
• хранение обложек со сжатием их в 64х64
• раньше я криво делал контекстные меню (их было столько, сколько треков в списке, сейчас оно одно (да, всё правильно, если у вас 10 тысяч треков, то приложение где-то хранит 10 тысяч контекстных окон, которые ждут своего часа))
• да и не только контекстные меню, все элементы списка были обработаны на скорую руку
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥2 1