Korzystanie z mobilnej transmisji danych jest kosztowne, a w przypadku abonamentów, których nie stać wszystkich, jeszcze bardziej. Użytkownicy Androida potrzebują możliwości zmniejszenia użycia danych lub całkowitego ich zablokowania w aplikacjach. Funkcja Oszczędzanie danych w wersji Androida 7.0 zapewnia użytkownikowi tę funkcjonalność.
Użytkownik może włączyć lub wyłączyć funkcję Oszczędzanie danych. Deweloperzy aplikacji powinni używać nowego interfejsu API, aby sprawdzić, czy tryb oszczędzania danych jest włączony. Jeśli jest włączona, deweloperzy aplikacji mogą łagodnie rozwiązać tę sytuację, dostosowując swoje aplikacje do ograniczonego dostępu do danych lub braku dostępu do nich.
Użytkownicy będą mogli kontrolować, które aplikacje mogą uzyskiwać dostęp do danych w tle, a które tylko wtedy, gdy są aktywne. Dzięki temu zapewnisz prawidłową wymianę danych w tle, gdy Oszczędzanie danych jest włączone.
Implementacja
Oszczędzanie danych jest funkcją platformy, więc producenci urządzeń mogą korzystać z tej funkcji domyślnie w wersji N. Znajdź pliki źródłowe w folderze:
packages/apps/Settings/src/com/android/settings/datausage
Interfejs ustawień
Domyślny interfejs ustawień funkcji Oszczędzanie danych jest dostarczany w ramach projektu Android Open Source Project (AOSP). Przykłady znajdziesz na zrzutach ekranu poniżej.
Te zrzuty ekranu przedstawiają tryb oszczędzania danych w akcji.

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

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

Rysunek 3. Ekran zużycia danych przez aplikację: Ustawienia > Aplikacje > Zużycie danych

Rysunek 4. Stany oszczędzania danych w menu Szybkie ustawienia
Aplikacje
Ważne: implementatorzy urządzeń nie powinni umieszczać aplikacji na białej liście. Nawet jeśli tak, użytkownicy mogą je usunąć. Dodanie innych aplikacji zmusza użytkowników do podjęcia decyzji, w których aplikacjach mają być stosowane ustawienia Oszczędzania danych.
Wszyscy deweloperzy aplikacji muszą wdrożyć tryb oszczędzania danych, w tym producenci urządzeń i operatorzy komórkowi, którzy oferują wstępnie zainstalowane aplikacje. Instrukcje dotyczące wykrywania i monitorowania stanów Oszczędzania danych znajdziesz na stronie Data Saver na stronie developer.android.com. Więcej informacji znajdziesz w sekcjach poniżej.
Aby zoptymalizować działanie w trybie oszczędzania danych, aplikacje powinny:
- Usuwanie niepotrzebnych obrazów
- Użyj niższej rozdzielczości dla pozostałych obrazów.
- Użyj filmu o niższej szybkości transmisji danych.
- uruchamiać istniejące wersje „lite”;
- Kompresowanie danych
- Uwzględniaj stan sieci z pomiarem użycia danych i bez pomiaru nawet wtedy, gdy oszczędzanie danych jest wyłączone
Z drugiej strony, aby dobrze współpracować z Oszczędzaniem danych, aplikacje nie powinny:
- Autoodtwarzanie filmów
- Wstępne wczytywanie treści/załączników
- Pobieranie aktualizacji / kodu
- poprosić o umieszczenie na białej liście, chyba że dane w tle są rzeczywiście częścią głównej funkcjonalności;
- Traktowanie dodawania do białej listy jako licencji na korzystanie z większej przepustowości
Weryfikacja
Aby mieć pewność, że ich wersja funkcji działa prawidłowo, implementatorzy mogą przeprowadzić ten test CTS:
com.android.cts.net.HostsideRestrictBackgroundNetworkTests
Dodatkowo do ręcznego przeprowadzania testów możesz używać poleceń adb
. Aby wyświetlić wszystkie dostępne opcje, najpierw uruchom to polecenie:
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