#performance
Тестирование времени запуска приложения — это довольно популярная задача оптимизации приложения. От времени старта зависит общее впечатление от использования продукта.
Совсем недавно Google анонсировал библиотеку App Startup, которая позволяет правильно инициализировать компоненты для приложения.
Но чтобы понять, насколько улучшилось время запуска, нужно знать результаты до и после её применения.
Самым распространённым подходом является использование функции
System.currentTimeMillis(), при помощи которой можно залогировать время, и вычислить разницу межу нужными нам кусками кода. Но главная проблема в том, что мы не можем узнать время запуска до начала вызова нашего кода, соответственно и до вызова этой функции.
Есть хороший подход, описанный в этой статье. Автор делится командами adb, которые позволяют понять время запуска приложения с момента клика на иконку.
Итоговая команда выглядит так:
adb shell am start-activity -W -n com.android.samples.mytest/.MainActivity | grep "TotalTime" | cut -d ' ' -f 2
Кроме того в статье, говорится о том, как избежать ситуацию с троттлингом процессора, что очень сильно может помешать тестированию производительности приложения.