Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Запись методов Java/Kotlin, вызываемых во время выполнения кода вашего приложения, позволяет вам видеть использование стека вызовов и ЦП в определенный момент времени, отфильтрованное по методам Java/Kotlin. Эти данные полезны для определения разделов кода, выполнение которых занимает много времени или требует много системных ресурсов. Если вам нужно полное представление стека вызовов, включая собственные кадры вызовов, используйте задачу профилирования образца стека вызовов .
Когда вы записываете методы Java/Kotlin с помощью профилировщика Android Studio, вы можете выбрать тип записи:
Трассировка: инструментирует ваше приложение во время выполнения для записи временной метки в начале и конце каждого вызова метода. Временные метки собираются и сравниваются для создания данных трассировки метода, включая информацию о времени. Трассировку следует использовать, если вам важен точный вызов методов. Поскольку трассировка — это интенсивный процесс, если вы используете эту опцию, лучше всего вести запись в течение пяти секунд или меньше.
Выборка (устаревшая версия): собирает стек вызовов вашего приложения через определенные промежутки времени во время выполнения кода вашего приложения на основе Java или Kotlin. Профилировщик сравнивает наборы собранных данных, чтобы получить информацию о времени и использовании ресурсов при выполнении кода вашего приложения на основе Java или Kotlin. Вам следует использовать выборку, если вас больше волнует время, чем точные вызываемые методы.
Использование ЦП : показывает использование ЦП вашим приложением в процентах от общей доступной мощности ЦП по времени. Обратите внимание, что загрузка ЦП включает не только методы Java/Kotlin, но и собственный код. Выделите раздел временной шкалы, чтобы отфильтровать детали за этот период времени.
Взаимодействия : отображает взаимодействие пользователя и события жизненного цикла приложения на временной шкале.
Потоки : показывает потоки, в которых работает ваше приложение. В большинстве случаев вам нужно сначала сосредоточиться на самом верхнем потоке, представляющем ваше приложение.
Чтобы определить методы или стеки вызовов, которые занимают больше всего времени, используйте флейм-диаграмму или нисходящую диаграмму.
Контент и образцы кода на этой странице предоставлены по лицензиям. Java и OpenJDK – это зарегистрированные товарные знаки корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-07-29 UTC.
[[["Прост для понимания","easyToUnderstand","thumb-up"],["Помог мне решить мою проблему","solvedMyProblem","thumb-up"],["Другое","otherUp","thumb-up"]],[["Отсутствует нужная мне информация","missingTheInformationINeed","thumb-down"],["Слишком сложен/слишком много шагов","tooComplicatedTooManySteps","thumb-down"],["Устарел","outOfDate","thumb-down"],["Проблема с переводом текста","translationIssue","thumb-down"],["Проблемы образцов/кода","samplesCodeIssue","thumb-down"],["Другое","otherDown","thumb-down"]],["Последнее обновление: 2025-07-29 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."]]