Режим экономии данных

Использование мобильных данных обходится дорого, особенно если тарифный план не всем по карману. Пользователям Android нужна возможность сократить использование данных или полностью заблокировать их в приложениях. Функция экономии данных в версии Android 7.0 предоставляет эту возможность.

Функция экономии данных может быть включена или выключена пользователем. Разработчикам приложений следует использовать новый API для проверки включён ли режим экономии данных. Если он включён, разработчики приложений могут корректно решить эту проблему, настроив свои приложения на низкий уровень или отсутствие доступа к данным.

Конечные пользователи получают преимущество, поскольку могут контролировать, какие приложения могут получать доступ к данным в фоновом режиме, а какие — только в активном режиме. Это обеспечивает желаемый фоновый обмен данными при включенной функции экономии данных.

Выполнение

Поскольку Data Saver является функцией платформы, производители устройств получают её функционал по умолчанию с версии N. Исходные файлы находятся в:
пакеты/приложения/Настройки/src/com/android/settings/datausage

Интерфейс настроек

Пользовательский интерфейс настроек Data Saver по умолчанию доступен в проекте Android Open Source Project (AOSP). Примеры см. на скриншотах ниже.

На этих снимках экрана показано использование режима экономии данных.

Включение/выключение функции экономии данных

Рисунок 1. Включение/выключение функции «Экономия данных»

Включены функции экономии заряда батареи и экономии данных.

Рисунок 2. Когда включены оба режима: экономия заряда батареи и экономия данных

Экран использования данных для конкретного приложения

Рисунок 3. Экран использования данных для конкретного приложения: Настройки > Приложения > Использование данных

Экономия трафика в быстрых настройках

Рисунок 4. Состояния экономии данных в меню быстрых настроек

Приложения

Важно : Разработчики устройств не должны добавлять приложения в белый список. Даже если они это сделают, пользователи могут удалить их. Включение других приложений вынуждает пользователей самостоятельно решать, к каким из них применять функцию экономии трафика.

Все разработчики приложений, включая производителей оригинального оборудования (OEM) и операторов связи с предустановленными приложениями, обязаны внедрить функцию Data Saver. Инструкции по обнаружению и мониторингу состояний Data Saver для разработчиков приложений см. в разделе Data Saver на сайте developer.android.com. Дополнительную информацию, полезную для партнёров, см. в разделах ниже.

Чтобы оптимизировать работу в режиме экономии данных, приложения должны:

  • Удалите ненужные изображения
  • Использовать меньшее разрешение для остальных изображений
  • Использовать видео с более низким битрейтом
  • Запустить существующие «облегченные» опыты
  • Сжатие данных
  • Учитывать статус сети с тарификацией и без тарификацией, даже если функция экономии данных отключена

И наоборот, для корректной работы с Data Saver приложения не должны:

  • Автовоспроизведение видео
  • Предварительная загрузка контента/вложений
  • Загрузить обновления/код
  • Запросите включение в белый список, если только фоновые данные действительно не являются частью основных функций
  • Относитесь к белому списку как к лицензии на использование большей пропускной способности

Проверка

Разработчики могут убедиться, что их версия функции работает так, как задумано, выполнив следующий тест CTS:

com.android.cts.net.HostsideRestrictBackgroundNetworkTests

Кроме того, команды adb можно использовать для проведения тестов вручную, предварительно выполнив эту команду, чтобы увидеть все доступные параметры:

adb shell cmd netpolicy

Например, эта команда возвращает UID приложений из белого списка:

adb shell cmd netpolicy list restrict-background-whitelist