Запись методов Java/Kotlin, Запись методов Java/Kotlin

Запись методов Java/Kotlin, вызываемых во время выполнения кода вашего приложения, позволяет вам видеть использование стека вызовов и ЦП в определенный момент времени, отфильтрованное по методам Java/Kotlin. Эти данные полезны для определения разделов кода, выполнение которых занимает много времени или требует много системных ресурсов. Если вам нужно полное представление стека вызовов, включая собственные кадры вызовов, используйте задачу профилирования образца стека вызовов .

Когда вы записываете методы Java/Kotlin с помощью профилировщика Android Studio, вы можете выбрать тип записи:

  • Трассировка: инструментирует ваше приложение во время выполнения для записи временной метки в начале и конце каждого вызова метода. Временные метки собираются и сравниваются для создания данных трассировки метода, включая информацию о времени. Трассировку следует использовать, если вам важен точный вызов методов. Поскольку трассировка — это интенсивный процесс, если вы используете эту опцию, лучше всего вести запись в течение пяти секунд или меньше.

  • Выборка (устаревшая версия): собирает стек вызовов вашего приложения через определенные промежутки времени во время выполнения кода вашего приложения на основе Java или Kotlin. Профилировщик сравнивает наборы собранных данных, чтобы получить информацию о времени и использовании ресурсов при выполнении кода вашего приложения на основе Java или Kotlin. Вам следует использовать выборку, если вас больше волнует время, чем точные вызываемые методы.

Обзор методов Java/Kotlin

После запуска задачи «Найти горячие точки ЦП» профилировщик Android Studio предоставляет следующую информацию:

  • Использование ЦП : показывает использование ЦП вашим приложением в процентах от общей доступной мощности ЦП по времени. Обратите внимание, что загрузка ЦП включает не только методы Java/Kotlin, но и собственный код. Выделите раздел временной шкалы, чтобы отфильтровать детали за этот период времени.
  • Взаимодействия : отображает взаимодействие пользователя и события жизненного цикла приложения на временной шкале.
  • Потоки : показывает потоки, в которых работает ваше приложение. В большинстве случаев вам нужно сначала сосредоточиться на самом верхнем потоке, представляющем ваше приложение.

Чтобы определить методы или стеки вызовов, которые занимают больше всего времени, используйте флейм-диаграмму или нисходящую диаграмму.