O uso de dados móveis é caro e ainda mais quando os custos do plano de dados não são acessíveis a todos. Os usuários do Android precisam reduzir o uso de dados ou bloqueá-los completamente dos aplicativos. O recurso Data Saver na versão Android 7.0 fornece essa funcionalidade ao usuário.
O recurso Data Saver pode ser ativado ou desativado pelo usuário. Os desenvolvedores de aplicativos devem usar uma nova API para verificar se o modo de economia de dados está ativado. Se estiver ativado, os desenvolvedores de aplicativos podem lidar com a situação normalmente ajustando seus aplicativos para acesso com pouco ou nenhum dado.
Os usuários finais se beneficiam, pois poderão controlar quais aplicativos podem acessar dados em segundo plano e quais podem acessar dados apenas em primeiro plano. Isso garante a troca de dados em segundo plano desejada quando a Economia de dados está ativada por controle do usuário.
Implementação
Como o Data Saver é um recurso da plataforma, os fabricantes de dispositivos ganham sua funcionalidade por padrão com a versão N. Encontre os arquivos de origem em: packages/apps/Settings/src/com/android/settings/datausage
Interface de configurações
Uma interface de usuário de configurações de economia de dados padrão é fornecida no Android Open Source Project (AOSP). Veja as capturas de tela abaixo para exemplos.
Essas capturas de tela mostram o modo de economia de dados em uso.

Figura 1. Ativar/desativar a Economia de dados

Figura 2. Quando a economia de bateria e a Economia de dados estão ativadas

Figura 3. Tela de uso de dados específico do aplicativo: Configurações > Aplicativos > Uso de dados

Figura 4. Estados da economia de dados no menu Configurações rápidas
Aplicativos
Importante : os implementadores de dispositivos não devem colocar aplicativos na lista de permissões. Mesmo que o façam, os usuários podem removê-los. A inclusão de outros aplicativos força os usuários a decidir em qual aplicar a Economia de dados.
Todos os desenvolvedores de aplicativos devem agir para implementar a Economia de dados, incluindo OEMs e operadoras com aplicativos pré-carregados. Consulte Economia de dados em developer.android.com para obter instruções do desenvolvedor de aplicativos sobre como detectar e monitorar os estados da Economia de dados. Consulte as seções abaixo para obter detalhes adicionais úteis para os parceiros.
Para otimizar para o modo de economia de dados, os aplicativos devem:
- Remova imagens desnecessárias
- Use uma resolução mais baixa para as imagens restantes
- Usar vídeo com taxa de bits mais baixa
- Acionar experiências “lite” existentes
- Compactar dados
- Respeite o status de rede medido versus não medido, mesmo quando a Economia de dados estiver desativada
Por outro lado, para funcionar bem com a Economia de dados, os aplicativos não devem:
- Vídeos de reprodução automática
- Pré-busca de conteúdo/anexos
- Baixar atualizações/código
- Peça para ser incluído na lista de permissões, a menos que os dados em segundo plano sejam realmente parte da funcionalidade principal
- Trate a lista de permissões como uma licença para usar mais largura de banda
Validação
Os implementadores podem garantir que sua versão do recurso funcione conforme o esperado executando o seguinte teste CTS:
com.android.cts.net.HostsideRestrictBackgroundNetworkTests
Além disso, os comandos adb
podem ser usados para realizar testes manualmente executando primeiro este comando para ver todas as opções disponíveis:
adb shell cmd netpolicy
Por exemplo, este comando retorna os UIDs dos aplicativos da lista de permissões:
adb shell cmd netpolicy list restrict-background-whitelist