🐌 Чек-лист замера перфа
Если хочется бороться за миллисекунды, то можно померить с помощью готовых или самописных решений следующие этапы работы приложения:
🐌 Запуск приложения
🔵отдельный вопрос — откуда до куда мерить запуск, тут есть простор для творчества
🔵как минимум надо мерить Application.onCreate() и инициализацию библиотек
🐌 Открытие нового экрана
🔵момент от нажатия пользователем кнопки до отрисовки первого полезного UI-элемента
🔵часто включает в себя сетевой запрос на бэк — довольно рандомная по времени вещь
🔵желательно разбить эту метрику на подэтапы
🐌 Скорость сетевых запросов на бэк
🔵подготовка запроса и обработка респонса
🔵установка соединения (DNS/TCP/TLS)
🔵время отправки/чтения байтов по интернету
🔵время работы бэка (когда запрос уже отправлен, но ответ еще не начал считываться)
🔵загруженность установленных соединений (не пора ли увеличить connectionPool)
🔵процент попадания в кэш
🔵процент успешных запросов к упавшим
🔵размеры запросов
🐌 FPS — количество кадров, которые успевают отрисоваться в секунду
🔵интересны места, где идет просадка FPS
🐌 Видео-контент
🔵скорость отрисовки первого кадра
🔵процент подвисаний
🔵скорость загрузки чанков
🔵все вышеперечисленное для разных форматов и битрейтов
🐌 Картинки
🔵всё, как и для обычных сетевых запросов, но с разбиением по cdn-ам и форматам изображений
Еще что-то забыл?
@dolgo_polo_dev
Post #179
2.04K

- 🔥 15
- ✍ 12