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 Emulator나 루팅된 기기를 사용 중인 경우 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을 선택합니다.

이전 기기 추가 지원 사용 설정(API 수준 < 26)

Android 7.1 이하를 사용하는 기기를 실행할 때 추가 프로파일링 데이터를 표시하려면 Android 스튜디오에서 컴파일된 앱에 모니터링 로직을 삽입해야 합니다. 그러한 추가 프로파일링 데이터는 다음과 같습니다.

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

이전 기기 추가 지원을 사용 설정하려면 다음 단계를 따르세요.

  1. Run > Edit Configurations를 선택합니다.
  2. 왼쪽 창에서 앱 모듈을 선택합니다.
  3. Profiling 탭을 클릭한 다음 Enable additional support for older devices (API level < 26)를 선택합니다.
  4. 앱을 빌드하고 다시 실행합니다.

이전 기기 추가 지원을 사용 설정하면 빌드 프로세스가 느려지므로 앱 프로파일링을 시작하고자 할 때만 사용 설정해야 합니다.

독립형 프로파일러 실행

독립형 Android 스튜디오 프로파일러를 사용하면 전체 Android 스튜디오 IDE를 실행하지 않고도 앱을 프로파일링할 수 있습니다.

독립형 프로파일러를 실행하려면 다음 단계를 따르세요.

  1. 프로파일러가 현재 Android 스튜디오 내에서 실행되고 있지 않은지 확인합니다.
  2. 설치 디렉터리로 이동한 후 bin 디렉터리로 이동합니다.

    Windows/Linux: <studio-installation-folder>/bin

    macOS: <studio-installation-folder>/Contents/bin

  3. OS에 따라 profiler.exe 또는 profiler.sh를 실행합니다. Android 스튜디오 스플래시 화면이 표시됩니다.

    스플래시 화면이 사라지면 프로파일러 창이 열립니다.

  4. Android 에뮬레이터를 시작하거나 Android 기기를 연결하고 홈 화면이 로드될 때까지 기다립니다. 명령줄에서 에뮬레이터를 실행하려면 명령줄에서 에뮬레이터 시작을 참조하세요. Android 스튜디오에서 에뮬레이터를 시작한다면 에뮬레이터가 시작된 후 Android 스튜디오를 닫아야 합니다.

    독립형 프로파일러 메뉴에서 버튼을 클릭하면 연결된 모든 기기와 에뮬레이터가 표시됩니다.

    예를 들어 에뮬레이터에서 Google 지도를 엽니다. 드롭다운 메뉴에서 에뮬레이터를 선택하여 새 프로파일링 세션을 만들고 com.google.android.apps.maps (...)를 선택하면 프로파일링 세션이 실행됩니다.

지도와 상호작용하면 터치 이벤트와 CPU 사용량이 프로파일러에 표시됩니다. CPU, 메모리, 네트워크 또는 에너지 그래프를 클릭하여 추가 세부정보를 표시합니다.

버튼을 클릭하여 프로파일링 세션을 종료합니다.