O uso de dados móveis é caro, ainda mais quando os custos do plano de dados não são acessíveis a todos. Os usuários do Android precisam ter a capacidade de reduzir ou bloquear o uso de dados de apps. O recurso Economia de dados na versão do Android 7.0 oferece essa funcionalidade ao usuário.
O usuário pode ativar ou desativar o recurso Economia de dados. Os desenvolvedores de apps precisam usar uma nova API para verificar se o modo de economia de dados está ativado. Se estiver ativada, os desenvolvedores de apps poderão lidar com a situação de maneira adequada, ajustando os aplicativos para acesso com poucos ou nenhum dado.
Os usuários finais se beneficiam porque podem controlar quais apps 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 a Economia de dados é um recurso da plataforma, os fabricantes de dispositivos ganham a 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 do usuário padrão de configurações da Economia de dados é fornecida no Android Open Source Project (AOSP). Confira exemplos nas capturas de tela abaixo.
Estas capturas de tela mostram o modo "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íficos do app: Configurações > Apps > Uso de dados

Figura 4. Estados da Economia de dados no menu "Configurações rápidas"
Apps
Importante: os implementadores de dispositivos não devem adicionar apps à lista de permissões. Mesmo que isso aconteça, os usuários podem remover os cookies. Incluir outros apps força os usuários a decidir em qual deles aplicar a Economia de dados.
Todos os desenvolvedores de apps precisam implementar o Data Saver, incluindo OEMs e operadoras com apps pré-carregados. Consulte Economia de dados em developer.android.com (link em inglês) para instruções de desenvolvedores de apps sobre como detectar e monitorar estados da Economia de dados. Confira mais detalhes nas seções abaixo, que são úteis para os parceiros.
Para otimizar o modo Economia de dados, os apps precisam:
- Remover imagens desnecessárias
- Usar resolução mais baixa para as imagens restantes
- Usar vídeo com taxa de bits mais baixa
- Acionar experiências "lite"
- Compactar dados
- Respeitar o status da rede limitada ou ilimitada mesmo quando a economia de dados está desativada
Por outro lado, para funcionar bem com a Economia de dados, os apps não podem:
- Reprodução Automática de vídeos
- Pré-buscar 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 façam parte da funcionalidade principal
- Tratar a inclusão na lista de permissões como uma licença para usar mais largura de banda
Validação
Os implementadores podem garantir que a versão do recurso funcione conforme o esperado executando o seguinte teste do CTS:
com.android.cts.net.HostsideRestrictBackgroundNetworkTests
Além disso, os comandos adb
podem ser usados para realizar testes manualmente. Primeiro, execute este comando para ver todas as opções disponíveis:
adb shell cmd netpolicy
Por exemplo, este comando retorna os UIDs dos apps na lista de permissões:
adb shell cmd netpolicy list restrict-background-whitelist