해당 내용은 기본적으로 ADB가 세팅되어 있다고 가정한 상태에서 진행한다. |
잠자기 모드(Doze mode)
- 스마트폰을 사용하지 않고 있을 때를 자동으로 인지해 절전 도므로 전환되는 기능
- 안드로이드 마시멜로(6.0)에 추가된 도즈(Doze)모드는 사용자가 오랫동안 사용하지 않는다고 판단되면, Network, Background Service Stop(JobScheudler, AlarmManager), WakeLock ignore 등의 정책을 적용하여 적극적으로 배터리 효율을 최적화 하는 모드이다.
- Doze Mode 진입 조건은 아래와 같다.
- 충전 중이 아닌 상태
- 화면이 꺼진 상태
- 1~2시간정도 움직임이 없는 상태
- ADB를 이용하면 1~2시간의 대기시간 없이, Doze Mode를 만들 수 있다.
- IDLE일 때가 Doze Mode이며, IDLE_MAINTENANCE는 Doze Mode 중간 중간 시스템에서 잠시 깨어나는 상태이다.
Doze mode 만드는 법
C:\Users\Joe>adb shell dumpsys battery unplug C:\Users\Joe>adb shell dumpsys deviceidle step C:\Users\Joe>adb shell dumpsys deviceidle step C:\Users\Joe>adb shell dumpsys deviceidle step C:\Users\Joe>adb shell dumpsys deviceidle step C:\Users\Joe>adb shell dumpsys deviceidle step C:\Users\Joe>adb shell dumpsys deviceidle step C:\Users\Joe>adb shell dumpsys deviceidle step |
Doze mode 해제하는 법
- Active가 되면, Doze mode가 해제된 상태이다.
C:\Users\Yogiyo>adb shell dumpsys battery reset C:\Users\Yogiyo>adb shell dumpsys deviceidle step |
앱 대기 모드(App Stand-by mode)
- 자주 이용하지 않는 앱을 유휴 앱 상태로 설정해 사용 빈도가 더 높은 앱을 위해 배터리를 절약해주는 기능
Stand-by mode 만드는 법
C:\Users\Yogiyo>adb shell am set-inactive com.fineapp.yogiyo true |
Stand-by mode 진입 확인하는 법
C:\Users\Yogiyo>adb shell am get-inactive com.fineapp.yogiyo C:\Users\Yogiyo>adb shell am get-inactive com.fineapp.yogiyo |
Stand-by mode 해제하는 법
C:\Users\Yogiyo>adb shell am set-inactive com.fineapp.yogiyo false |
On Yogiyo App
Doze mode
- Doze mode 대응을 위해 다음과 같은 상황에서 Push Notification을 발송한다. 이 때 Push는 App boy를 이용한다.
- App Process가 실행되지 않은 상태
- 화면이 꺼진 상태
- Step이 ACTIVE와 IDLE 상태일 경우 비교
Active | IDLE |
---|---|
화면이 꺼져있더라도 Push Notification Receive |
화면이 꺼진 상태에선 Push Notification Not Receive, 화면을 켰을 경우, Push Notification Receive |
App Stand-by mode
- App Standby mode 대응을 위해 다음과 같은 상황에서 Push Notification을 발송한다. 이 때 Push는 App boy를 이용한다.
- App Process가 실행되지 않은 상태
- 화면이 꺼진 상태
- Idle이 true와 false 상태일 경우 비교
idle=false | idle=true |
---|---|
화면이 꺼져있더라도 Push Notification Receive |
화면이 꺼진 상태에선 Push Notification Not Receive, 화면을 켰을 경우, Push Notification Not Receive, 앱 실행 시켰을 경우, Push Notification Receive |
'OS > Andorid' 카테고리의 다른 글
[ADB] error: more than one device/emulator (0) | 2021.01.18 |
---|---|
Windows에서 안드로이드 휴대폰 단말기 미러링 하기 (1) | 2021.01.15 |
MAC에서 안드로이드 휴대폰 단말 미러링 하기 (0) | 2021.01.11 |
국내 OS 별, 단말기별 점유율 (0) | 2018.11.30 |
댓글