모바일 데이터 사용은 비용이 많이 드는데 데이터 요금제 비용이 저렴하지 않은 경우에는 더욱더 그러합니다. Android 사용자는 데이터 사용량을 줄이거나 앱에서 완전히 차단할 수 있는 기능이 필요합니다. Android 7.0 버전의 데이터 절약 모드 기능은 사용자에게 이 기능을 제공합니다.
데이터 절약 모드 기능은 사용자가 켜거나 끌 수 있습니다. 앱 개발자는 새로운 API를 사용하여 데이터 절약 모드가 켜져 있는지 확인해야 합니다. 이 모드가 켜져 있으면 앱 개발자는 데이터 액세스 수준이 거의 또는 전혀 없는 조건에 맞게 애플리케이션을 조정하여 상황을 적절하게 처리할 수 있습니다.
최종 사용자는 이 모드를 통해 백그라운드에서 데이터에 액세스하는 앱과 포그라운드에서만 데이터에 액세스하는 앱을 간편하게 제어할 수 있습니다. 이렇게 하면 데이터 절약 모드가 사용자 제어에 따라 켜질 때 원하는 백그라운드 데이터 교환이 이루어집니다.
구현
데이터 절약 모드는 플랫폼의 기능이므로 기기 제조업체는 기본적으로 N 버전에 포함된 기능을 사용합니다. 소스 파일은 다음에서 찾을 수 있습니다.
packages/apps/Settings/src/com/android/settings/datausage
설정 인터페이스
기본 데이터 절약 모드 설정 사용자 인터페이스는 Android 오픈소스 프로젝트(AOSP)에서 제공됩니다. 예제는 아래의 스크린샷을 참조하세요.
다음 스크린샷은 사용 중인 데이터 절약 모드를 보여줍니다.

그림 1. 데이터 절약 모드 끄기/켜기 전환

그림 2. 절전 모드 및 데이터 절약 모드를 둘 다 사용 중

그림 3. 앱별 데이터 사용량 화면: 설정 > 앱 > 데이터 사용량

그림 4. 빠른 설정 메뉴의 데이터 절약 모드 상태
앱
중요 사항: 기기 구현자는 앱을 허용 목록에 포함해서는 안 됩니다. 포함하더라도 사용자가 삭제할 수 있습니다. 다른 앱을 포함하면 데이터 절약 모드를 적용할 앱을 사용자가 결정해야 합니다.
미리 로드된 앱이 있는 OEM 및 이동통신사를 포함하여 모든 앱 개발자는 데이터 절약 모드를 구현해야 합니다. 데이터 절약 모드 상태 감지 및 모니터링에 관한 앱 개발자 안내는 developer.android.com의 데이터 절약 모드를 참조하세요. 파트너에게 유용한 추가 세부정보는 아래 섹션을 참조하세요.
데이터 절약 모드를 최적화하려면 앱에서 다음 작업을 실행해야 합니다.
- 불필요한 이미지 삭제
- 나머지 이미지에 더 낮은 해상도 사용
- 더 낮은 비트 전송률 동영상 사용
- 기존의 '라이트' 환경 트리거
- 데이터 압축
- 데이터 절약 모드가 꺼져 있어도 데이터 전송량 제한이 있는 네트워크 상태와 무제한 네트워크 상태 유지
반대로 데이터 절약 모드가 제대로 작동하려면 앱이 다음을 실행해서는 안 됩니다.
- 동영상 자동재생
- 콘텐츠/첨부파일 미리 가져오기
- 업데이트/코드 다운로드
- 백그라운드 데이터가 핵심 기능의 일부가 아닌 경우 허용 목록에 포함하도록 요청
- 허용 목록을 라이선스로 사용하여 더 많은 대역폭 사용
유효성 검사
구현자는 다음 CTS 테스트를 실행하여 구현자 버전의 기능이 의도한 대로 작동하는지 확인할 수 있습니다.
com.android.cts.net.HostsideRestrictBackgroundNetworkTests
또한, adb
명령어를 먼저 실행하여 사용 가능한 모든 옵션을 확인한 후 이 명령어를 사용하여 수동으로 테스트를 실행할 수 있습니다.
adb shell cmd netpolicy
예를 들어 다음 명령어는 허용된 앱의 UID를 반환합니다.
adb shell cmd netpolicy list restrict-background-whitelist