Prefetching Видео и правильная приоритизация.
Чем тяжелее данные, с которыми ты работаешь, тем важнее правильная работа с сетью.
На скриншоте: есть экран страниц контента. Каждый из вас скажет что правильнее заранее предзагружать следующие страницы для UX. Но бывает так, что на симуляторах, стейдж данных и тестовых устройствах все может работать отлично, но как обычно на реальном интернете и проде может возникнуть что-то не так.
5 параллельных запросов в сеть != 5× быстрее. Мы уже говорили про квоту или "пропускную трубу" нетворка. В случае с текстом или JSON это чувствуется слабо, но с видео правила игры меняются и экономика ресурсов становится куда жестче.
Если упростить: допустим у вас подключение 3 Мбит/сек (и да, этим каналом пользуется всё устройство, а не только ваше приложение). Преступно упростим, но представим что один запрос на видео и все 3 Мбит/с идут в него. Пять видео одновременно и каждый поток в среднем получит около 0.6 Мбит/с. Все запросы конкурируют за одну и ту же пропускную трубу и ресурсы.
В итоге вместо быстрого старта пользователь получает медленную и нестабильную загрузку.
Поэтому при плохой (а сегодня даже с хорошей) сети лучше не наглеть. Нужно фокусировать ресурс на одном видео и загружать остальное последовательно или с лоу приоритетами.
Важные советы:
- следите за лишними запросами вашей апки. Они могут сжигать ресурс сети.
- много потоков не всегда хорошо. Следите за качеством сети и подстраивайтесь под нее.
- правильно работайте с приоритетами.
- если ты префетчишь данные, то делай умно.
Post #3701
2.04K
