На эту тему посмотрел доклад 😊 с Mobile Runtime, где Лев Бондаренко из Яндекс Еды выдал плотную базу:
➡️перф надо мерить на всех этапах и делить зоны ответственности между UI / декодингом / сетевым слоем / бэком...
➡️оптимизации как диета — самые большие результаты даются быстро, а дальше идет тяжелая борьба за миллисекунды
➡️префетчить контент хорошо, но у сетевых запросов текущей страницы должен быть приоритет
➡️приложение надо тестировать в условиях принудительно плохого интернета, результаты могут вас удивить
хорошо, что сегодня раздобыть плохой интернет не сложно 👍
➡️сетевых клиентов нужно создавать как можно меньше, чтобы переиспользовать коннекшены и тред пулы. с видео плеерами то же самое
➡️для видео можно загружать первые кадры с низким разрешением и блюром, чтобы показать их как можно раньше
Особенно понравился тезис
"если лоадер выглядит как системный, то в долгой загрузке виновата система, а не приложение"
Берем на заметку 🤩
