Java/Kotlin 메서드 기록

앱의 코드 실행 중에 호출된 Java/Kotlin 메서드를 기록하면 특정 시점의 호출 스택과 CPU 사용량을 Java/Kotlin 메서드로 필터링하여 확인할 수 있습니다. 이 데이터는 실행하는 데 시간이 오래 걸리거나 시스템 리소스를 많이 사용하는 코드 섹션을 식별하는 데 유용합니다. 네이티브 호출 프레임을 포함한 전체 호출 스택을 보려면 호출 스택 샘플 프로파일링 작업을 사용하세요.

Android 스튜디오 프로파일러를 사용하여 Java/Kotlin 메서드를 기록할 때 다음 기록 유형을 선택할 수 있습니다.

  • 추적: 각 메서드 호출의 시작과 끝에서 타임스탬프를 기록하기 위해 런타임에 앱을 계측합니다. 타이밍 정보를 비롯한 메서드 추적 데이터를 생성하기 위해 타임스탬프가 수집되고 비교됩니다. 호출되는 정확한 메서드에 관심이 있다면 트레이싱을 사용해야 합니다. 트레이싱은 집약적인 프로세스이므로 이 옵션을 사용하는 경우 녹화 시간을 5초 이하로 유지하는 것이 좋습니다.

  • 샘플링 (레거시): 앱의 Java 또는 Kotlin 기반 코드가 실행되는 동안 앱의 호출 스택을 자주 캡처합니다. 프로파일러는 캡처된 데이터 세트를 비교하여 앱의 Java 또는 Kotlin 기반 코드 실행에 관한 타이밍 및 리소스 사용 정보를 얻습니다. 호출되는 정확한 메서드보다 타이밍이 더 중요한 경우 샘플링을 사용해야 합니다.

Java/Kotlin 메서드 개요

CPU 핫스팟 찾기 작업을 실행하면 Android 스튜디오 프로파일러에서 다음 정보를 제공합니다.

  • CPU 사용량: 앱의 CPU 사용량을 시간별로 사용 가능한 총 CPU 용량의 비율로 표시합니다. CPU 사용량에는 Java/Kotlin 메서드뿐만 아니라 네이티브 코드도 포함됩니다. 타임라인의 섹션을 강조 표시하여 해당 기간의 세부정보를 필터링합니다.
  • 상호작용: 사용자 상호작용 및 앱 수명 주기 이벤트를 타임라인을 따라 표시합니다.
  • 스레드: 앱이 실행되는 스레드를 표시합니다. 대부분의 경우 앱을 나타내는 최상위 스레드에 먼저 집중하는 것이 좋습니다.

시간이 가장 많이 걸리는 메서드나 호출 스택을 식별하려면 플레임 차트 또는 하향식 차트를 사용하세요.