Android 9(API 수준 28)에서 출시된 전력 관리 기능은 앱이 이 버전을 타겟팅하는지와 관계없이 이 버전에서 실행되는 모든 앱에 영향을 줍니다. 이 기기에서 앱이 제대로 작동하는지 확인하는 것이 중요합니다.
다양한 조건에서 앱의 기본 사용 사례를 테스트하여 전력 관리 기능이 서로 어떻게 작용하는지 확인하세요. 어떤 기능을 사용 또는 사용 중지하려면 Android 디버그 브리지(adb
) 명령어를 사용하면 됩니다.
Android 디버그 브리지(adb) 명령어
adb
셸 명령어를 사용하여 전력 관리 기능을 테스트할 수 있습니다.
adb
를 사용하여 기기를 잠자기 모드로 전환하는 방법에 관한 자세한 내용은 잠자기 및 앱 대기 모드로 테스트를 참고하세요.
앱 대기 버킷
adb
를 사용하여 앱 대기 버킷에 앱을 수동으로 할당할 수 있습니다. 앱의 버킷을 변경하려면 먼저 다음 명령어를 사용하여 기기 연결 해제를 시뮬레이션합니다.
$ adb shell dumpsys battery unplug
다음 명령어를 사용하여 앱을 대기 버킷에 할당합니다.
$ adb shell am set-standby-bucket packagename active|working_set|frequent|rare
위의 명령어를 사용하여 한 번에 여러 패키지를 설정할 수도 있습니다.
$ adb shell am set-standby-bucket package1 bucket1 package2 bucket2...
앱이 속한 버킷을 확인하려면 다음을 실행합니다.
$ adb shell am get-standby-bucket packagename
packagename 매개변수를 전달하지 않으면 모든 앱의 버킷이 나열됩니다.
앱은 새 메서드인 UsageStatsManager.getAppStandbyBucket()
을 호출하여 런타임에 버킷을 찾을 수도 있습니다.
백그라운드 제한
백그라운드 제한을 수동으로 적용하려면 다음 명령어를 실행하세요.
$ adb shell cmd appops set packagename RUN_ANY_IN_BACKGROUND ignore
백그라운드 제한을 제거하려면 다음 명령어를 실행합니다.
$ adb shell cmd appops set packagename RUN_ANY_IN_BACKGROUND allow
절전 모드
저전력 조건 하에서 앱이 어떻게 동작하는지 테스트하기 위한 여러 명령어가 있습니다.
기기의 연결 해제를 시뮬레이션하려면 다음 명령어를 사용하세요.
$ adb shell dumpsys battery unplug
저전력 상태에서 기기가 작동하는 방식을 테스트하려면 다음 명령어를 사용합니다.
$ adb shell settings put global low_power 1
테스트를 마친 후 다음 명령어를 사용하여 수동 기기 설정을 실행취소할 수 있습니다.
$ adb shell dumpsys battery reset