系统跟踪仅在系统级别显示进程的相关信息,因此有时很难知道应用或游戏的哪些方法是在给定时间针对系统事件执行的。
Jetpack 提供了一个跟踪 API,可用于为特定的代码段添加标签。然后,设备上捕获的轨迹中会报告此信息。Macrobenchmark 会自动使用自定义轨迹点来捕获轨迹。
使用 Perfetto 捕获系统轨迹时,请确保您的应用配置为 profileable。这样,应用的自定义轨迹事件就会显示在系统轨迹报告中。
fun loadAndProcessData() {
trace("loadAndProcessData") {
val data = trace("queryDatabase") {
queryDatabase()
}
trace("processData") {
processData(data)
}
}
}
跟踪函数会在 lambda 执行完毕后自动结束跟踪。从而消除忘记结束跟踪的风险。
您还可以将 NDK API 用于自定义跟踪事件。如需了解如何将此 API 用于原生代码,请参阅原生代码中的自定义跟踪事件。