에너지 프로파일러는 앱에서 필요한 것보다 더 많은 에너지를 사용하는 위치를 찾는 데 도움이 됩니다.
에너지 프로파일러는 CPU, 네트워크 무선 통신 및 GPS 센서의 사용을 모니터링하고 이러한 각 구성요소의 에너지 사용량을 시각적으로 표시합니다. 또한 에너지 프로파일러는 에너지 소비량에 영향을 줄 수 있는 시스템 이벤트(wake lock, 경보, 작업 및 위치 요청)의 발생을 보여줍니다.
에너지 프로파일러는 에너지 소비량을 직접 측정하지 않습니다. 대신, 기기에 있는 각 리소스의 에너지 소비량을 예측하는 모델을 사용합니다.
에너지 프로파일러 개요
에너지 프로파일러는 Android 8.0(API 26) 이상을 실행하는 연결된 기기 또는 Android Emulator에서 앱을 실행하는 경우 Profiler 창에 행으로 표시됩니다.
에너지 프로파일러를 열려면 다음 단계를 따르세요.
View > Tool Windows > Profiler를 선택하거나 툴바에서 Profile
을 클릭합니다.
Select Deployment Target 대화상자에 메시지가 표시되면 프로파일링을 위해 앱을 배포할 기기를 선택합니다. USB를 통해 기기를 연결했는데 목록에 표시되지 않으면 USB 디버깅을 사용 설정했는지 확인하세요.
Energy 타임라인의 아무 곳이나 클릭하여 에너지 프로파일러를 엽니다.
에너지 프로파일러를 열면 앱의 예상 에너지 사용량이 즉시 표시됩니다. 그림 1과 비슷한 화면이 표시됩니다.
그림 1. 에너지 프로파일러의 타임라인
그림 1에 표시된 것처럼 에너지 프로파일러의 기본 뷰에는 다음과 같은 타임라인이 포함됩니다.
- 이벤트 타임라인: 앱의 활동이 수명 주기의 다양한 상태를 거치며 전환되는 모습을 보여줍니다. 이 타임라인에는 화면 회전 이벤트를 비롯한 기기와 사용자의 상호작용도 표시됩니다.
- 에너지 타임라인: 앱의 예상 에너지 소비량을 보여줍니다.
- 시스템 타임라인: 에너지 소비량에 영향을 줄 수 있는 시스템 이벤트를 표시합니다.
CPU, 네트워크 및 위치(GPS) 리소스와 관련 시스템 이벤트별 에너지 사용 분석 결과를 보려면 Energy 타임라인의 막대 위에 마우스 포인터를 놓으세요.
시스템 이벤트 검사: wake lock, 작업 및 경보
에너지 프로파일러를 사용하여 wake lock, 작업 및 경보를 비롯한 에너지 소비량에 영향을 줄 수 있는 시스템 이벤트를 찾을 수 있습니다.
wake lock은 절전 모드로 전환되지 않도록 CPU 또는 화면을 켜진 상태로 유지하는 메커니즘입니다. 예를 들어, 동영상을 재생하는 앱은 wake lock을 사용하여 기기와의 사용자 상호작용이 없을 때 화면을 켜진 상태로 유지할 수 있습니다. wake lock 요청은 에너지를 많이 사용하는 작업이 아니지만 wake lock을 해제하지 못하면 화면 또는 CPU가 필요한 것보다 더 오래 켜져 있어서 배터리가 빠르게 소모될 수 있습니다. 자세한 내용은 wake lock 작업에 관한 안내를 참고하세요.
경보를 사용하여 일정한 간격으로 앱 컨텍스트 외부에서 백그라운드 작업을 실행할 수 있습니다. 경보가 울리면 기기의 절전 모드를 해제하고 에너지 집약적 코드를 실행할 수 있습니다. 자세한 내용은 경보 작업에 관한 안내를 참고하세요.
작업을 사용하면 네트워크가 사용 가능하게 될 때와 같은 지정된 조건에서 작업을 실행할 수 있습니다.
JobBuilder
를 사용하여 작업을 만들고JobScheduler
를 사용하여 예약합니다. 많은 경우에 권장되는 방법은 경보 또는 wake lock 대신JobScheduler
를 통해 작업을 사용하는 것입니다.위치 요청은 상당한 양의 에너지를 소모할 수 있는 GPS 센서를 사용합니다. 에너지 효율적인 위치 요청 방법에 관한 자세한 내용은 배터리를 위한 위치 최적화를 참고하세요.
에너지 프로파일러를 사용하면 앱이 각 기능을 사용하는 위치를 쉽게 찾을 수 있습니다. 따라서 이러한 기능이 사용되는 방법에 관해 확실한 정보를 바탕으로 결정을 내릴 수 있습니다.
에너지 프로파일러는 시스템 이벤트가 활성화된 시간 범위 동안 Energy 타임라인 아래의 System 타임라인에 색상으로 구분된 막대를 표시합니다. wake lock은 빨간색 막대로 표시되고 작업 및 경보는 노란색 막대로 표시되며 위치 이벤트는 연한 보라색 막대로 표시됩니다.
그림 2는 에너지 프로파일러 및 해제되지 않은 wake lock을 담당하는 소스 코드가 열려 있는 코드 편집기를 보여줍니다.
그림 2. 에너지 프로파일러를 사용하여 wake lock 찾기
- System Event 창을 열고 wake lock과 같은 이벤트의 세부정보를 표시하려면 Energy 타임라인에서 시간 범위를 선택합니다.
- Wake Lock Details 창을 열고 특정 wake lock의 세부정보를 표시하려면 System Event 창에서 wake lock을 선택합니다.
- 코드 편집기를 열고 wake lock에 관한 소스 코드로 이동하려면 Wake Lock Details 창의 호출 스택 상단에 있는 호출 메서드 항목을 더블클릭합니다.
- wake lock을 획득하기 위한 호출이 소스 편집기에 강조표시됩니다.
다른 시스템 이벤트에 관한 세부정보를 표시하기 위한 지침은 세부정보 창에 각 이벤트 유형별 정보가 있는 wake lock과 기본적으로 동일합니다. 예를 들어, Job Details 창에는 작업이 예약되고 작업이 완료된 코드 부분에 관한 호출 스택이 표시됩니다.