Трассировка системы отображает информацию о процессах только на системном уровне, поэтому иногда сложно определить, какие из методов вашего приложения или игры выполняются в данный момент времени относительно системных событий.
Jetpack предоставляет API трассировки, который можно использовать для маркировки определенного участка кода. Эта информация затем отображается в трассировках, полученных на устройстве. Macrobenchmark автоматически захватывает трассировки с заданными точками трассировки.
При использовании Perfetto для сбора системных трассировок убедитесь, что ваше приложение настроено как profileable . Таким образом, пользовательские события трассировки вашего приложения будут отображаться в отчете о системных трассировках.
fun loadAndProcessData() {
trace("loadAndProcessData") {
val data = trace("queryDatabase") {
queryDatabase()
}
trace("processData") {
processData(data)
}
}
}
Функция трассировки автоматически завершает трассировку после завершения работы лямбда-функции. Это исключает риск забыть завершить трассировку.
Для создания пользовательских событий трассировки можно также использовать API NDK. Подробнее об использовании этого API в нативном коде см. в разделе «Пользовательские события трассировки в нативном коде» .
Дополнительные ресурсы
Просмотры контента
{% verbatim %}Рекомендуем вам
- Примечание: текст ссылки отображается, когда JavaScript отключен.
- время запуска приложения
- Медленная отрисовка