Development Tip

배터리 사용 테스트

yourdevel 2020. 11. 15. 11:49
반응형

배터리 사용 테스트


내 애플리케이션이 휴대폰 / 태블릿의 배터리에 어떤 영향을 미치는지 테스트하고 싶습니다.

그렇게 할 수있는 테스트 도구가 있습니까?

예를 들어, 애플리케이션의 어떤 모듈이 배터리를 가장 많이 소모하는지 테스트하고 싶습니다.


실제로 전원 문제가있는 대부분의 앱에는 'CPU'문제도 있다고 생각합니다. 즉, 애플리케이션의 CPU 사용량 프로필이 배터리 소모량의 근사치 일 수 있습니다. 예를 들어 앱이 GPU, 무선 네트워크, 스토리지 등으로 값 비싼 작업을 수행하고 있고 그 값 비싼 작업이 CPU 시간을 많이 차지하지 않는 경우 경고 및 예외가 있습니다.

다음은 내장 배터리 앱보다 실행중인 시스템에서 더 정확한 측정을 제공하는 "Power Tutor"앱에 대한 흥미로운 블로그입니다. http://gigaom.com/mobile/android-power-consumption-app/ . 나는 그것을 시도하지 않았습니다.

다른 수준의 세부 사항을 위해 다음은 휴대 전화의 어떤 구성 요소가 가장 많은 에너지를 소비하는지 분석 한 문서입니다 (이 문서는 2010 년의 것입니다). http://www.usenix.org/event/usenix10/tech/full_papers/Carroll .pdf (결과를 읽으려면 섹션 5로 건너 뛰십시오). 그들은 화면 밝기가 가장 큰 원인이라고 말합니다.

화면 밝기가 가장 큰 원인 인 경우 자체 응용 프로그램의 사용량을 측정하는 경우 고정 수준으로 설정해야합니다.

전력 소비량을 측정하는 데 정말로 관심이 있다면 그 방법론을 따를 수 있습니다 (전화기를 열고 측정 장치를 물리적으로 연결하는 방법).


Android 5.0과 함께 제공되는 새로운 도구가 있습니다.

당신은 실행할 수 있습니다

adb shell dumpsys batterystats > dump.txt

장치의 전체 배터리 덤프를 얻으려면. --unplugged(마지막으로 연결 한 이후의 데이터 만 출력) 또는 --charged(마지막으로 충전 된 이후의 데이터 만 출력 ) 과 같은 일부 옵션을 추가 할 수도 있습니다 . 패키지 이름을 추가하여이 패키지 / 앱에 대한 정보 만 가져올 수도 있습니다.

adb shell dumpsys batterystats --unplugged your.package.name > dump.txt

이 부분 > dump.txt은 모든 것을 파일에 넣습니다 (확실하지 않은 Windows에서만 작동 할 수 있습니다.하지만 그대로두면 덤프가 콘솔에 인쇄되어 복사하여 파일에 넣을 수 있습니다).

이는 Android 5.x가 설치된 장치가있는 경우에만 작동합니다. 낮은 수준의 장치가있는 경우 사용을 시도 할 수 있습니다.

adb shell bugreport > bugreport.txt

그러나이 파일은 매우 큽니다. (~ 8MB 이상)

이 파일을 만든 후 GoogleHistorian 도구를 사용할 수 있습니다.

이를 사용하려면 Python 2.7.9를 설치하고 다음 명령을 실행해야합니다.

python /path/to/historian.py dump.txt > battery.html

이렇게하면보다 유용한 형식으로 데이터를 볼 수있는 battery.html 파일이 생성됩니다.

마지막으로 배터리 덤프의 통계를 재설정하려면 다음을 호출하십시오.

adb shell dumpsys batterystats --reset

(Android 5.x에서만 작동)


당신이 묻는 질문은 지금 연구 주제입니다. 세분화 된 전력 사용량 추적, 즉 스레드 또는 서브 루틴 기반의 전력 사용량 추적에 대한 연구가 진행 중입니다. \

eprof는 일부 대학 졸업생이 개발 한 도구 중 하나입니다.

이 주제에 대한 몇 가지 논문은 http://web.ics.purdue.edu/~pathaka/pubs.html 에서 찾을 수 있습니다 .

나는 똑같은 일을하고 있으며, 일반 사용자에게 유용한 것이 있으면 반드시 알려줄 것입니다.


Android 2.3.3부터 시스템에는 기본 배터리 모니터가 있습니다.

설정-> 휴대 전화 정보-> 배터리 사용


정확하게 측정 할 수 없기 때문에 테스트 할 실제 도구가 없다고 말하고 싶습니다. iPhone을 가져 가면 배터리 카운트가 40 %에서 30 %로 이동 한 다음 잠시 그대로있다가 20 %까지 내려 가고 15 %까지 내려 가고 25 %까지 내려 가고 20 % ECT로 돌아갑니다. . 당신이 할 수있는 일은 장시간 동안 휴대 전화를 충전하고 완전히 충전되었는지 확인한 다음 휴대 전화가 닫힐 때까지 앱을 사용하고 소요 시간을 기록하는 것입니다. 이제 다른 버전으로이 작업을 수행하고 결과를 확인하십시오. 기본적으로 가능한 한 적은 테스트를 수행하려면 MasterMind 게임을 플레이해야합니다. 또한 변경 사항이 확인하기 쉽지 않다면 그다지 중요하지 않을 것입니다.


내 애플리케이션이 Nexus5 휴대 전화의 배터리 소모를 어떻게 담당하는지 알아보기 위해 유사한 테스트를 수행했습니다.

그러나 안타깝게도 어떤 도구에서도 도움을받을 수 없었지만 대부분 수동 테스트를 기반으로했습니다.

더 많은 배터리 소모가 의심되는 앱의 일부 모듈을 확인했습니다.

  1. GPS를 사용하는 위치 인식 모듈.

  2. 네트워크 연결을 사용하는 업로드 모듈은 오랫동안 백그라운드 작업을 실행합니다.

  3. 백그라운드 작업으로 인해 CPU를 사용하게 만드는 비디오 생성 모듈입니다. 등등...

마지막으로 3-4 라운드의 테스트 후 데이터에 약간의 추세가 있었고 배터리 소모의 큰 원인이되는 모듈을 식별 할 수있었습니다.

기본적으로 CPU를 더 오래 사용하면 배터리 소모가 더 많아집니다. 따라서 백그라운드 작업, 네트워크 관련 작업이있는 모듈을 생각할 수 있습니다.

현재로서는 특정 앱에서 위의 테스트 결과를 알 수있는 도구를 찾을 수 없습니다.

내 경험이 원래 질문의 요구 사항 진술에 도움이되기를 바랍니다.

참고 URL : https://stackoverflow.com/questions/7566910/testing-battery-usage

반응형