Android Dev Summit, October 23-24: two days of technical content, directly from the Android team. Sign-up for livestream updates.

Android 프로파일러를 사용하여 앱 성능 측정

Android 스튜디오 3.0 이상에서는 Android 프로파일러가 Android 모니터 도구를 대체합니다. Android 프로파일러 도구에서는 앱에서 CPU, 메모리, 네트워크 및 배터리 리소스를 사용하는 방법을 이해하는 데 도움이 되는 실시간 데이터를 제공합니다.

각 프로파일러에 관한 자세한 내용은 다음을 참조하세요.

Android 프로파일러는 Android 5.0(API 레벨 21) 이상과 호환됩니다.

Android 프로파일러에 관한 소개는 다음 동영상을 참조하세요.

Profiler 창을 열려면 View > Tool Windows > Profiler를 선택하거나 툴바에서 Profile 을 클릭하세요. Select Deployment Target 대화상자에 메시지가 표시되면 앱을 프로파일링할 기기를 선택합니다. USB를 통해 기기를 연결했는데 목록에 표시되지 않으면 USB 디버깅을 사용 설정했는지 확인하세요. Android 에뮬레이터나 루팅된 기기를 사용 중인 경우 Android 프로파일러에 디버깅할 수 없지만 실행 중인 모든 프로세스가 나열됩니다. 디버깅 가능한 앱을 실행하면 해당 프로세스가 기본적으로 선택됩니다.

Android 프로파일러는 기기를 연결 해제하거나 End Session을 클릭할 때까지 프로파일링 데이터를 계속 수집합니다.

그림 1. Android 프로파일러 공유 타임라인 뷰

1 Android 프로파일러에 현재 프로파일링 중인 프로세스와 기기가 표시됩니다.

2 Sessions 창에서 확인할 세션을 선택하거나 새 프로파일링 세션을 시작합니다.

3 확대/축소 버튼을 사용하여 얼마나 많은 타임라인을 확인할지 관리하거나, Attach to live 버튼을 사용하여 실시간 업데이트로 건너뜁니다.

4 이벤트 타임라인에는 키보드 활동, 볼륨 조정 변경사항, 화면 회전 등 사용자 입력과 관련된 이벤트가 표시됩니다.

5 CPU, 메모리, 네트워크 및 에너지 사용량의 그래프가 포함된 공유 타임라인 뷰입니다.

이 공유 타임라인 뷰에는 타임라인 그래프만 표시됩니다. 상세 프로파일링 도구에 액세스하려면 검사할 성능 데이터에 해당하는 그래프를 클릭하세요. 예를 들어, 힙을 검사하고 메모리 할당을 추적하기 위해 도구에 액세스하려면 Memory 그래프를 클릭하세요.

모든 프로파일링 데이터가 기본적으로 표시되지는 않습니다. 'Advanced profiling is unavailable for the selected process'라는 메시지가 표시되는 경우 실행 구성에서 고급 프로파일링을 사용 설정하여 추가 데이터를 확인할 수 있습니다.

세션

프로파일러 데이터를 세션으로 저장할 수 있으며, 세션은 Android 스튜디오를 종료할 때까지 유지됩니다. 프로파일링 정보를 여러 세션에 기록하고 세션 간을 전환하여 다양한 시나리오의 리소스 사용량을 비교할 수 있습니다.

  • 새로운 세션을 시작하려면 Start a new profiling session 버튼을 클릭하고 표시되는 드롭다운 메뉴에서 앱 프로세스를 선택합니다.

    트레이스를 기록하거나 힙 덤프를 캡처하면 Android 스튜디오에서 해당 데이터를 앱의 네트워크 활동과 함께 현재 세션에 별도의 항목으로 추가합니다.

  • 현재 세션에 더 이상 데이터를 추가하지 않으려면 Stop the current profiling session 을 클릭합니다.

  • 이전의 Android 스튜디오 실행에서 내보낸 트레이스를 가져오려면 Start new profiler session 을 클릭하고 Load from file을 선택합니다.

고급 프로파일링 사용 설정

Android 7.1 이하를 사용하는 기기를 실행할 때 고급 프로파일링 데이터를 표시하려면 Android 스튜디오에서 컴파일링된 앱에 모니터링 로직을 삽입해야 합니다. 고급 프로파일링을 통해 제공되는 기능은 다음과 같습니다.

  • 모든 프로파일러 창의 이벤트 타임라인
  • 메모리 프로파일러의 할당된 객체 수
  • 메모리 프로파일러의 가비지 컬렉션 이벤트
  • 네트워크 프로파일러의 전송된 모든 파일에 관한 세부정보

고급 프로파일링을 사용 설정하려면 다음 단계를 따르세요.

  1. Run > Edit Configurations를 선택합니다.
  2. 왼쪽 창에서 앱 모듈을 선택합니다.
  3. Profiling 탭을 클릭한 다음 Enable advanced profiling을 선택합니다.
  4. 앱을 빌드하고 다시 실행합니다.

고급 프로파일링 구성을 사용하면 빌드 프로세스가 느려지므로 앱 프로파일링을 시작할 때만 사용 설정해야 합니다.