비비디바비비부
프로그래밍저장소
비비디바비비부
전체 방문자
오늘
어제
  • 프로그래밍 (72)
    • 안드로이드 (5)
      • 잡다한 지식 (40)
      • Compose (2)
      • Design (3)
      • Project (6)
    • 리액트 (4)
      • 프로젝트 (1)
      • 잡다한 지식 (1)
    • 알고리즘 (3)
      • 알고리즘 문제 (3)
    • AI (4)
      • 딥러닝 (4)
    • CS (2)
    • 잡동사니 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
비비디바비비부

프로그래밍저장소

안드로이드 Doze 모드 정리
안드로이드/잡다한 지식

안드로이드 Doze 모드 정리

2022. 5. 16. 14:20

잠자기 및 앱 대기 모드에 맞게 최적화  |  Android 개발자  |  Android Developers

  1. DozeMode
  • 사용자가 플러그를 뽑고 화면이 꺼진 채로 기기를 일정 기간 정지 상태로 두면 기기는 잠자기 모드를 시작
  • 잠자기 모드는 시스템이 네트워크 및 CPU를 많이 사용하는 서비스에 대한 앱의 액세스를 제한하여 배터리를 절약
  • 시스템에서 지연된 활동을 완료할 수 있도록 주기적으로 잠깐 동안 잠자기 모드를 종료함

  • 지연된 활동이 끝나면 다시 잠자기 모드로 진입함. 그리고 시간이 지날수록 시스템은 유지보수 기간의 횟수를 줄임.

 

2. Doze Mode 상태일 때 제한되는 사항

  • 네트워크 액세스
  • wake lock을 무시함
  • AlarmManager가 다음유지보수 기간으로 연기됨
  • Wi-Fi 검색을 실행하지 않음
  • 동기화 어댑터 실행을 허용하지 않음
  • JobScheduler 실행을 허용하지 않음 

3. Doze Mode를 방지할려면?

 

권한 요청

<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />

코드

        PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
        String packageName = getPackageName();
        if (pm.isIgnoringBatteryOptimizations(packageName)) {

        } else {
            Intent intent = new Intent();
            intent.setAction(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
            intent.setData(Uri.parse("package:" + packageName));
            startActivityForResult(intent, 0);
        }

 

저작자표시 비영리 동일조건 (새창열림)

'안드로이드 > 잡다한 지식' 카테고리의 다른 글

안드로이드 핫스팟 켜기  (0) 2022.10.05
안드로이드 재시작 코드  (0) 2022.10.05
구글 22 시작하기 전 정리한 구글 21 Android  (0) 2022.05.15
안드로이드에서 적용해본 템플릿 메소드 패턴  (0) 2022.05.09
안드로이드 Sharedpreferences commit vs apply  (0) 2022.03.15
    '안드로이드/잡다한 지식' 카테고리의 다른 글
    • 안드로이드 핫스팟 켜기
    • 안드로이드 재시작 코드
    • 구글 22 시작하기 전 정리한 구글 21 Android
    • 안드로이드에서 적용해본 템플릿 메소드 패턴
    비비디바비비부
    비비디바비비부
    안드로이드 기술 블로그, 코딩 공부, 프로그래머

    티스토리툴바