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

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

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

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

Выполнение

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

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

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

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

Включение/выключение функции Data Saver

Рисунок 1. Включение/выключение функции Data Saver

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

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

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

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

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

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

Приложения

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

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

Для оптимизации режима экономии данных приложения должны:

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

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

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

Проверка

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

com.android.cts.net.HostsideRestrictBackgroundNetworkTests

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

adb shell cmd netpolicy

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

adb shell cmd netpolicy list restrict-background-whitelist