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

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

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

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

Выполнение

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

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

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

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

Включение и выключение режима экономии данных

Рис. 1. Включение и выключение режима экономии данных

Экономия заряда батареи и экономия данных включены.

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

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

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

Сохранение данных в быстрых настройках

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

Приложения

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

Все разработчики приложений должны внедрить Data Saver, включая OEM-производителей и операторов связи с предварительно загруженными приложениями. См. раздел «Экономия данных» на сайте 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