Tryb oszczędzania danych

Mobilna transmisja danych jest kosztowna, zwłaszcza w miejscach, gdzie pakiety danych nie są dostępne dla wszystkich. Użytkownicy Androida muszą mieć możliwość ograniczenia lub całkowitego zablokowania wykorzystania danych przez aplikacje. Funkcja Oszczędzanie danych w Androidzie 7.0 udostępnia użytkownikowi tę funkcjonalność.

Funkcję Oszczędzanie danych może włączyć lub wyłączyć użytkownik. Deweloperzy aplikacji powinni używać nowego interfejsu API, aby sprawdzać, czy tryb oszczędzania danych jest włączony. Jeśli jest włączona, deweloperzy aplikacji mogą odpowiednio dostosować swoje aplikacje do sytuacji, w której dostęp do danych jest ograniczony lub niemożliwy.

Użytkownicy końcowi zyskują możliwość kontrolowania, które aplikacje mogą uzyskiwać dostęp do danych w tle, a które tylko na pierwszym planie. Dzięki temu użytkownik będzie mógł kontrolować wymianę danych w tle, gdy włączone jest Oszczędzanie danych.

Implementacja

Oszczędzanie danych to funkcja platformy, więc producenci urządzeń uzyskują ją domyślnie w wersji N. Pliki źródłowe znajdziesz w lokalizacji:
packages/apps/Settings/src/com/android/settings/datausage

Interfejs ustawień

Domyślny interfejs ustawień Oszczędzania danych jest dostępny w projekcie Android Open Source Project (AOSP). Przykłady znajdziesz na zrzutach ekranu poniżej.

Te zrzuty ekranu pokazują tryb oszczędzania danych w użyciu.

Włączanie i wyłączanie Oszczędzania danych

Rysunek 1. Włączanie i wyłączanie Oszczędzania danych

Oszczędzanie baterii i oszczędzanie danych są włączone

Rysunek 2. Gdy włączone są zarówno oszczędzanie baterii, jak i oszczędzanie danych

Ekran użycia danych przez aplikację

Rysunek 3. Ekran wykorzystania danych przez aplikację: Ustawienia > Aplikacje > Wykorzystanie danych

Oszczędzanie danych w Szybkich ustawieniach

Rysunek 4. Stan oszczędzania danych w menu Szybkie ustawienia

Aplikacje

Ważne: producenci urządzeń nie powinni umieszczać aplikacji na białej liście. Nawet jeśli tak się stanie, użytkownicy mogą je usunąć. Włączenie innych aplikacji zmusza użytkowników do podjęcia decyzji, w której z nich zastosować oszczędzanie danych.

Wszyscy deweloperzy aplikacji muszą wdrożyć funkcję oszczędzania danych, w tym producenci OEM i operatorzy z wstępnie załadowanymi aplikacjami. Instrukcje dla deweloperów aplikacji dotyczące wykrywania i monitorowania stanów Oszczędzania danych znajdziesz w artykule Oszczędzanie danych na stronie developer.android.com. Więcej informacji przydatnych partnerom znajdziesz w sekcjach poniżej.

Aby zoptymalizować działanie aplikacji w trybie oszczędzania danych, powinny one:

  • Usuwanie niepotrzebnych obrazów
  • Używaj niższej rozdzielczości w przypadku pozostałych zdjęć
  • Używaj filmów o niższej szybkości transmisji
  • wywoływać istniejące już „lekkie” wersje usług;
  • Kompresowanie danych
  • Uwzględniaj stan sieci z pomiarem użycia danych i bez pomiaru, nawet gdy oszczędzanie danych jest wyłączone

Z kolei aplikacje, które mają dobrze współpracować z Oszczędzaniem danych, nie powinny:

  • Autoodtwarzanie filmów
  • Pobieranie z wyprzedzeniem treści i załączników
  • Pobieranie aktualizacji lub kodu
  • Proś o dodanie do listy dozwolonych, chyba że dane w tle są rzeczywiście częścią głównej funkcjonalności.
  • Traktowanie dodania do białej listy jako licencji na korzystanie z większej przepustowości

Weryfikacja

Aby mieć pewność, że ich wersja funkcji działa zgodnie z oczekiwaniami, osoby wdrażające mogą uruchomić ten test CTS:

com.android.cts.net.HostsideRestrictBackgroundNetworkTests

Dodatkowo polecenia adb można używać do ręcznego przeprowadzania testów. Najpierw uruchom to polecenie, aby zobaczyć wszystkie dostępne opcje:

adb shell cmd netpolicy

Na przykład to polecenie zwraca identyfikatory UID aplikacji z białej listy:

adb shell cmd netpolicy list restrict-background-whitelist