Тестирование холодного времени запуска - PullRequest
7 голосов
/ 29 апреля 2020

Я хочу иметь возможность измерять время запуска холодного приложения локально в тесте (среднее время, без слишком большого джиттера). Кто-нибудь знает, можно ли с помощью библиотеки тестов Jetpack надежно измерять время запуска холодного приложения? Если так, то как? Я знаю, что с помощью плагина производительности Firebase мы можем измерить некоторое среднее время запуска, но я хочу измерить эти улучшения локально.

Я могу только думать о скрипте, который запускается через adb приложение несколько раз и измеряет первый ActivityManager: Displayed из журнала ...

1 Ответ

1 голос
/ 07 мая 2020

Я полагаю, что вы можете добиться довольно точных результатов, используя android профилировщик, например, здесь (рисунок ниже), для запуска основной операции потребовалось 4,233 се c. Я думаю, что самой сложной задачей будет анализ результатов профилирования, вы можете прочитать об этом здесь: https://android.googlesource.com/platform/system/extras/+/master/simpleperf/doc/README.md

, но обратите внимание, что время запуска приложения может сильно отличаться на разных устройствах, конфигурация, состояние ОС и т. д. c ... поэтому я думаю, что наилучшим подходом будет измерить его на большом количестве устройств (используя такой инструмент, как производительность Firebase). Я думаю, что это единственный способ получить полезную информацию.

...