L'utilizzo dei dati mobili è costoso e ancora di più nei casi in cui i costi del piano dati non sono accessibili a tutti. Gli utenti Android devono avere la possibilità di ridurre l'utilizzo dei dati o bloccarlo completamente dalle app. La funzionalità Risparmio dati nella release Android 7.0 fornisce questa funzionalità all'utente.
La funzionalità Risparmio dati può essere attivata o disattivata dall'utente. Gli sviluppatori di app devono utilizzare una nuova API per verificare se la modalità Risparmio dati è attiva. Se è attiva, gli sviluppatori di app possono gestire la situazione in modo appropriato ottimizzando le loro applicazioni per l'accesso con dati limitati o assenti.
Gli utenti finali traggono vantaggio da questa funzionalità, in quanto potranno controllare quali app possono accedere ai dati in background e quali possono accedere ai dati solo in primo piano. In questo modo viene garantito lo scambio dei dati in background desiderato quando il risparmio dati è attivo per il controllo utente.
Implementazione
Poiché il risparmio dati è una funzionalità della piattaforma, i produttori di dispositivi ottengono la sua funzionalità per impostazione predefinita con la release N. Trova i file di origine in:
packages/apps/Settings/src/com/android/settings/datausage
Interfaccia delle impostazioni
Nell'Android Open Source Project (AOSP) viene fornita un'interfaccia utente predefinita per le impostazioni di Risparmio dati. Vedi gli screenshot riportati di seguito per alcuni esempi.
Questi screenshot mostrano la modalità Risparmio dati in uso.

Figura 1. Attivare/disattivare la modalità Risparmio dati

Figura 2. Quando sono attivi sia il risparmio energetico che il risparmio dati

Figura 3. Schermata Utilizzo dati specifico per app: Impostazioni > App > Utilizzo dati

Figura 4. Stati del risparmio dati nel menu Impostazioni rapide
App
Importante: gli implementatori di dispositivi non devono inserire le app nella whitelist. Anche se lo fanno, gli utenti possono rimuoverli. L'inclusione di altre app costringe gli utenti a decidere a quale applicare il Risparmio dati.
Tutti gli sviluppatori di app devono intervenire per implementare il risparmio dati, inclusi OEM e operatori con app precaricate. Consulta la pagina Risparmio dati su developer.android.com per istruzioni per gli sviluppatori di app su come rilevare e monitorare gli stati di Risparmio dati. Per ulteriori dettagli utili ai partner, consulta le sezioni seguenti.
Per l'ottimizzazione della modalità Risparmio dati, le app devono:
- Rimuovere le immagini non necessarie
- Utilizzare una risoluzione inferiore per le immagini rimanenti
- Utilizzare video con un bitrate inferiore
- Attivare le esperienze "lite" esistenti
- Comprimi i dati
- Rispetta lo stato della rete a consumo e non a consumo anche quando Risparmio dati è disattivato
Al contrario, per funzionare correttamente con Risparmio dati, le app non devono:
- Riproduzione automatica dei video
- Recuperare in anticipo contenuti/allegati
- Scaricare aggiornamenti / codice
- Chiedi di essere inserito nella lista consentita, a meno che i dati in background non facciano parte della funzionalità di base
- Considerare l'inserimento nella lista consentita come una licenza per utilizzare più larghezza di banda
Convalida
Gli implementatori possono assicurarsi che la loro versione della funzionalità funzioni come previsto eseguendo il seguente test CTS:
com.android.cts.net.HostsideRestrictBackgroundNetworkTests
Inoltre, i comandi adb
possono essere utilizzati per eseguire i test manualmente
eseguendo prima questo comando per visualizzare tutte le opzioni disponibili:
adb shell cmd netpolicy
Ad esempio, questo comando restituisce gli UID delle app inserite nella lista consentita:
adb shell cmd netpolicy list restrict-background-whitelist