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