Android의 절전 기능

3550 단어 Android
HW의 스펙이 아니라 응용 프로그램 동작의 유형을 제한하는 안드로이드의 절전 기능에 관한 것입니다.

안드로이드 스마트폰의 절전 기능은 크게 두 종류로 나뉜다

  • low-battery시 비상용
  • 자주 움직이는 물체
  • low-battery용

  • 제조업체 고유
  • 2단계
  • 임계값 끊기(15% 등) 시 발동
  • 응용제한 BG통신, 진동, 그리기 속도, GSP 등
  • %시/재해시 대기 시간
  • 사용의 응용은 유한하다
  • 대기(홈페이지 화면) 자체 변화
  • 자주 움직이는 물건

  • 수면
  • Screen Off, 와이파이 끊기, CPU 잠자기 등
  • wakelock을 통해 누구나 깨울 수 있음
  • 공장만의
  • BG 통신 등을 제한하는 어플리케이션 선택
  • Android M(6.0)부터 2개의 새로운 기능 탑재
  • 사용되지 않는 어플리케이션(App Standaby)을 실행하지 않음
  • 사용하지 않을 때 움직이지 않음(Doze)
  • App Standby

  • 사용자 미사용
  • 다른 애플리케이션도 사용되지 않음
  • 알림 없음
  • 둘 중 하나에 해당하면 BG에서 network access를 수행할 수 없습니다.

    Doze

  • 화면 소등, 배터리 구동 없이 터미널을 이동하는 경우 IDLE 상태
  • 앱 스탠바이와 달리 네트워크 access 동작 자체는 물론 제한
  • Doze (Android M)



    stationary란 무엇입니까?

    Significant Motion Sensor

  • 사용자 움직임을 감지하는 싱글 렌즈 센서
  • 가속도 센서 사용
  • or another as long as low power
  • 비repeatedly의 가짜negative 허용
  • 실제로는 이동하지만 체크하지 않음
  • 실제 이동이 감지되지 않음
  • 절전이 되지 않음
  • Significant Motion Sensor

  • trigger의 예시가 되다
  • 보행, 자전거 여행
  • 자동차나 기차를 타다
  • trigger의 예가 되지 않음
  • 주머니에 넣었는데 아무도 안 움직였어
  • 책상 위에 놓고 도로와 세탁기의 진동으로 책상이 약간 흔들린다
  • Doze에서 Sensor 사용 방법



    Android의 소스 코드분석.
    그림% 1개의 캡션을 편집했습니다.

    IDLE의 동작 제한

  • network access
  • 모두 불가
  • alarm 기상
  • alarm clock(알람 등) 실행
  • ACTIVE 상태로 즉시 복귀
  • 무시
  • wake lock
  • 모두 무시
  • Could Messageing(GCM/FCM) 수신
  • 비high priority 메시지를 받을 수 없음
  • GPS 및 WiFi 검색
  • 움직이지 않음
  • whitelist


    사용자 설정을 통해 동작 제한 대상에서 제외될 수 있는 목록에 적용
  • 네트워크 access
  • 가능
  • CPU만 일으키는 wake lock
  • 참고: Google Play 정책은 애플리케이션을 안드로이드 6.0 이후의 전력 관리 기능(Doze 및 Application Standby) 대상에서 직접 제외할 수 없으며 주요 기능이 제대로 작동하지 않는 한 이를 금지합니다.

    안드로이드 N(7.0) 개선


    IDLE를 단계적으로 제한하는 두 단계(Light 및 Deep)로 나눕니다.
  • 우선 네트워크 access 및 Sync/Job
  • 제한
  • 이어alarm와wakelock 등
  • 제한
    터미널이 정지되지 않아도 라이트 IDLE에 들어갑니다

    Doze (Android N)


    안드로이드 M의 Doze 상태 전환

    자료.

  • https://developer.android.com/training/monitoring-device-state/doze-standby.html
  • https://developer.android.com/about/versions/nougat/android-7.0-changes.html?hl=ja
  • 좋은 웹페이지 즐겨찾기