전원 프로파일러

Android 스튜디오 Hedgehog부터 전원 프로파일러에 기기의 전원 소모량이 표시됩니다. 이 새로운 데이터는 온디바이스 전원 레일 모니터(ODPM)에서 확인할 수 있습니다. 이 시스템은 '전원 레일'이라는 하위 시스템을 기준으로 정보를 분류합니다. 지원되는 하위 시스템 목록은 프로파일링 가능한 전원 레일을 참고하세요.

시스템 트레이스는 전원 소모량 데이터를 기록하고 표시합니다. 전원 프로파일러는 CPU 프로파일러의 일부입니다. 이 데이터는 기기의 전원 소모량을 앱에서 발생하는 동작과 시각적으로 연관짓는 데 도움이 됩니다. 전원 프로파일러를 사용하면 이 데이터를 시각화할 수 있습니다.

그림 1. 여러 전원 레일에 있는 전원 소모량 예

프로파일링 가능한 전원 레일

ODPM은 모든 프로파일링 가능한 전원 레일을 보고하며, Android 10(API 수준 29) 및 이후 버전과 Pixel 6 및 후속 Pixel 기기에서 사용할 수 있습니다.

표 1. 개별 전원 레일의 사용 가능 여부는 사용 중인 기기에 따라 변경됩니다.
전원 레일 이름 설명
CPU Big 큰 CPU 코어에서 소모되는 전원입니다.
CPU Little 작은 CPU 코어에서 소모되는 전원입니다.
CPU Mid 중간 CPU 코어에서 소모되는 전원입니다.
카메라 카메라 센서에서 소모되는 전원입니다.
Cellular 셀룰러 센서에서 소모되는 전원입니다.
디스플레이 디스플레이에서 소모되는 전원입니다.
GPS GPS 센서에서 소모되는 전원입니다.
GPU GPU 센서에서 소모되는 전원입니다.
메모리 RAM 메모리 센서에서 소모되는 전원입니다.
Sensor core 다른 기기 센서에서 소모되는 전원입니다.
UFS (disk) 디스크 센서에서 소모되는 전원입니다.
WLAN Wi-Fi 센서에서 소모되는 전원입니다.

ODPM을 지원하지 않는 기기는 Coulomb 카운터 및 배터리 게이지를 통해 전원 소모량 데이터를 제공할 수 있습니다.

표 2. 전원 소모량 데이터
이름 설명
Capacity 배터리 잔량(%)입니다.
Charge 남은 배터리 잔량(마이크로암페어-시간: μAh)입니다.
Current 순간 전류(마이크로암페어: μA)입니다.

전원 프로파일러를 통한 전원 소모량 프로파일링 시나리오 예

네트워크를 통해 애셋을 다운로드해야 하는 앱을 빌드한다고 가정하겠습니다. 애셋을 개별적으로 다운로드할 때와 한꺼번에 다운로드할 때 WLAN 전원 레일의 전원 소모량이 어떻게 달라지는지 알아보려고 합니다.

시나리오 A: 앱이 WLAN을 통해 애셋을 다운로드하기 위해 개별 네트워크를 요청을 보냅니다.

그림 2. WLAN을 통한 애셋 다운로드를 위한 개별 네트워크 요청

시나리오 B: 앱이 WLAN을 통해 매우 큰 애셋을 다운로드하기 위해 하나의 네트워크 요청을 보냅니다.

그림 3. WLAN을 통한 대용량 애셋 다운로드를 위한 개별 네트워크 요청

앞의 시나리오에서 볼 수 있듯이, 두 가지 시스템 트레이스는 다운로드를 트리거하는 방식에 따라 WLAN 전원 레일의 전원 소모량에 관한 서로 다른 서명을 보여줍니다.

위 예는 여러 시나리오에서 전원 소모량을 측정하는 간단한 방법이지만, 이를 통해 앱의 더 정교한 A/B 테스트를 빌드하기 위한 프로세스를 볼 수 있습니다. 이러한 테스트를 사용하여 여러 기능 또는 동일한 기능의 서로 다른 구현에서 전원 소모량을 최적화할 수 있습니다.

중요

  • ODPM은 특정 앱에 국한되지 않은 기기 수준에서 전원 소모량을 측정합니다. ODPM의 전원 소모량 정보를 앱의 포그라운드 또는 백그라운드에서 발생하는 상황과 연결할 수 있습니다. 따라서 ODPM 데이터를 읽을 때 기기에서 활성 상태인 앱의 수를 기반으로 전원 소모량 데이터에 노이즈가 발생할 수 있습니다.
  • 전원 프로파일러는 Android 10(API 수준 29) 및 이후 버전을 실행하는 Pixel 6 및 후속 Pixel 기기에서만 사용할 수 있는 ODPM에서 전원 소모량 데이터를 읽습니다.
  • 일부 전원 레일은 ODPM이 구현된 일부 기기에서만 사용할 수 있습니다.