실시간 앱 검사

앱을 실시간으로 검사하면 기기의 CPU 사용량, 스레드 활동, 메모리 사용량을 개략적으로 파악할 수 있습니다. 앱 프로파일링을 어디서 시작해야 할지 모르겠다면 실시간 보기를 사용하여 탐색 분석을 실행한 다음 최적화할 수 있는 동작이 표시되면 특정 프로파일링 작업으로 자세히 살펴보세요.

라이브 뷰를 시작하려면 라이브 원격 분석 보기 프로파일링 작업을 선택합니다. 작업이 시작되면 다음 시각화가 실시간으로 표시됩니다.

  • 상호작용: 타임라인을 따라 사용자 상호작용 및 앱 수명 주기 이벤트를 표시합니다(디버깅 가능 앱 프로세스와 API 수준 26 이상을 실행하는 기기 필요).
  • CPU 사용량: 앱의 실시간 CPU 사용량을 이용 가능한 총 CPU 시간의 비율로 표시하고 앱에서 사용 중인 총 스레드 수를 표시합니다. 타임라인에는 기타 프로세스 (예: 시스템 프로세스 또는 다른 앱)의 CPU 사용량도 표시되므로 내 앱의 사용량과 비교할 수 있습니다. 타임라인의 가로축을 따라 마우스를 이동하여 이전의 CPU 사용량 데이터를 검사할 수 있습니다.
  • 스레드: 앱 프로세스에 속하는 각 스레드를 나열하고 다음 색상을 사용하여 타임라인을 따라 각 스레드의 활동을 나타냅니다.
    • 녹색: 스레드가 활성 상태이거나 CPU를 사용할 준비가 되었습니다. 즉, 실행 중이거나 실행 가능한 상태입니다.
    • 노란색: 스레드가 활성 상태이지만 작업을 완료하기 위해 디스크 또는 네트워크 I/O 같은 I/O 작업을 기다리고 있습니다.
    • 회색: 스레드가 일시중지 상태이며 CPU 시간을 소비하고 있지 않습니다. 이는 스레드에서 아직 사용할 수 없는 리소스에 액세스해야 할 때 종종 발생합니다. 필요한 리소스를 사용할 수 있게 될 때까지 스레드가 자발적으로 일시정지 상태로 들어가거나 커널이 스레드를 일시정지 상태로 전환합니다.
    • CPU 프로파일러는 JDWP, Profile Saver, Studio:VMStats, Studio:Perfa, Studio:Heartbeat 등 Android 스튜디오와 Android 플랫폼이 앱 프로세스에 추가하는 스레드의 CPU 사용량도 보고합니다 (스레드 활동 타임라인에 표시되는 정확한 이름은 다를 수 있음). Android 스튜디오는 실제로 앱의 코드에 의해 스레드 활동 및 CPU 사용이 발생하는 시기를 식별할 수 있도록 이 데이터를 보고합니다.
  • 메모리: 메모리 카테고리별 메모리 사용량의 누적 그래프를 표시합니다. 메모리 사용량은 왼쪽의 y축과 상단의 색상 키로 표시됩니다.