Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Registrar los métodos de Java/Kotlin llamados durante la ejecución del código de tu app te permite ver la pila de llamadas y el uso de la CPU en un momento determinado, filtrados para los métodos de Java/Kotlin. Estos datos son útiles para identificar secciones de código que tardan mucho tiempo o consumen muchos recursos del sistema para ejecutarse. Si deseas obtener una vista completa de la pila de llamadas, incluidos los marcos de llamadas nativas, usa la tarea de generación de perfiles de muestra de pila de llamadas.
Cuando registras métodos de Java/Kotlin con el generador de perfiles de Android Studio, puedes elegir el tipo de registro:
Registro: Instrumenta tu app durante el tiempo de ejecución para registrar una marca de tiempo al principio y al final de cada llamada al método. Las marcas de tiempo se recopilan y se comparan para generar datos de seguimiento de métodos, incluida la información de sincronización. Debes usar el registro cuando te interesen los métodos exactos que se llaman. Dado que el registro es un proceso intensivo, si usas esta opción, es mejor que la grabación dure alrededor de cinco segundos o menos.
Muestreo (legado): Captura la pila de llamadas de tu app en intervalos frecuentes durante la ejecución del código basado en Java o Kotlin. El generador de perfiles compara conjuntos de datos capturados para derivar la información del uso de recursos y sincronización sobre la ejecución del código de tu app basado en Java o Kotlin. Debes usar el muestreo si te preocupa más el tiempo que los métodos exactos que se llaman.
Uso de CPU: Muestra el uso de CPU de tu app como un porcentaje de la capacidad total de CPU disponible por tiempo. Ten en cuenta que el uso de CPU incluye no solo los métodos de Java/Kotlin, sino también el código nativo. Destaca una sección de la línea de tiempo para filtrar los detalles de ese período.
Interactions: Muestra la interacción del usuario y los eventos de ciclo de vida de la app en un cronograma.
Threads: Muestra los subprocesos en los que se ejecuta tu app. En la mayoría de los casos, primero te enfocarás en el subproceso superior que representa tu app.
Para identificar los métodos o las pilas de llamadas que tardan más tiempo, usa el gráfico de llamas o el gráfico de arriba hacia abajo.
El contenido y las muestras de código que aparecen en esta página están sujetas a las licencias que se describen en la Licencia de Contenido. Java y OpenJDK son marcas registradas de Oracle o sus afiliados.
Última actualización: 2025-07-27 (UTC)
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-07-27 (UTC)"],[],[],null,["# Record Java/Kotlin methods\n\nRecording the Java/Kotlin methods called during your app's code execution lets\nyou see the callstack and CPU usage at a given time, filtered to Java/Kotlin\nmethods. This data is useful for identifying sections of code that take a long\ntime or a lot of system resources to execute. If you want a full view of the\ncallstack including native call frames, use the\n[callstack sample](/studio/profile/sample-callstack)\nprofiling task.\n\nWhen you record Java/Kotlin methods using the Android Studio profiler, you can\nchoose the recording type:\n\n- Tracing: Instruments your app at runtime to record a timestamp at the\n beginning and end of each method call. Timestamps are collected and compared\n to generate method tracing data, including timing information. You should use\n tracing when you care about the exact methods being called. Because tracing is\n an intensive process, if you're using this option it's best to keep your\n recording around five seconds or less.\n\n | **Note:** The timing information from tracing might deviate from production due to the overhead introduced by the instrumentation itself.\n- Sampling (legacy): Captures your app's call stack at frequent intervals during\n your app's Java- or Kotlin-based code execution. The profiler compares sets of\n captured data to derive timing and resource usage information about your app's\n Java- or Kotlin-based code execution. You should use sampling if you care more\n about timing than the exact methods being called.\n\n| **Note:** If you're interested in tracing methods with lifecycles so short that they're likely to begin and end in between a sampling interval, and thus get missed by the profiler, you should try tracing instead.\n\nJava/Kotlin methods overview\n----------------------------\n\nAfter you [run the **Find CPU Hotspots** task](/studio/profile#start-profiling)\nthe Android Studio Profiler provides the following information:\n\n- **CPU Usage**: Shows CPU usage of your app as a percentage of total available CPU capacity by time. Note that the CPU usage includes not only Java/Kotlin methods but also native code. Highlight a section of the timeline to filter to the details for that time period.\n- **Interactions**: Shows user interaction and app lifecycle events along a timeline.\n- **Threads**: Shows the threads that your app runs on. In most cases, you'll want to first focus on the topmost thread that represents your app.\n\nTo identify the methods or call stacks that take the most time, use the\n[flame chart](/studio/profile/chart-glossary/flame-chart) or\n[top down](/studio/profile/chart-glossary/top-bottom-charts) chart."]]