El registro del sistema muestra información sobre los procesos solamente a nivel del sistema; por lo tanto, algunas veces resulta difícil saber cuáles de los métodos de tu app o juego estaban en ejecución en un momento determinado respecto de los eventos del sistema.
Jetpack proporciona una API de registro que puedes usar para etiquetar una sección de código específica. Luego, esa información aparece en los registros capturados en el dispositivo. Las macrocomparativas capturan registros con puntos personalizados automáticamente.
Cuando se usa la herramienta de línea de comandos systrace para capturar registros, se requiere la opción -a
; sin esta, los métodos de la app no aparecerán en un informe de registro del sistema.
Kotlin
class MyAdapter : RecyclerView.Adapter<MyViewHolder>() { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyViewHolder { trace("MyAdapter.onCreateViewHolder") { MyViewHolder.newInstance(parent) } } override fun onBindViewHolder(holder: MyViewHolder, position: Int) { trace("MyAdapter.onBindViewHolder") { trace("MyAdapter.queryDatabase") val rowItem = queryDatabase(position) dataset.add(rowItem) } holder.bind(dataset[position]) } } }
Java
public class MyAdapter extends RecyclerView.Adapter<MyViewHolder> { @NonNull @Override public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { return TraceKt.trace( "MyAdapter.onCreateViewHolder", () -> MyViewHolder.newInstance(parent) ); } @Override public void onBindViewHolder(@NonNull MyViewHolder holder, int position) { TraceKt.trace( "MyAdapter.onBindViewHolder", () -> { TraceKt.trace( "MyAdapter.queryDatabase", () -> { Item rowItem = queryDatabase(position); dataset.add(rowItem); } ); } ); } }
Recomendamos usar la función de extensión de Kotlin, incluso en código Java, ya que finaliza el registro automáticamente cuando se completa la expresión lambda. Esto evita el riesgo de olvidarse de finalizar el registro.
También puedes usar una API de NDK para los eventos de registro personalizados. Si quieres obtener información para usar esta API en tu código nativo, consulta Eventos de seguimiento personalizados en código nativo.
Recomendaciones para ti
- Nota: El texto del vínculo se muestra cuando JavaScript está desactivado
- Tiempo de inicio de la app
- Renderización lenta