Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os aplicativos universais do Windows devem ter um desempenho consistente em todas as famílias de dispositivos. Em dispositivos movidos a bateria, o consumo de energia é um fator crítico na experiência geral do usuário com seu aplicativo. A duração da bateria durante todo o dia é um recurso desejável para todos os usuários, mas requer eficiência de todo o software instalado no dispositivo, incluindo o seu.
O comportamento da tarefa em segundo plano é, sem dúvida, o fator mais importante no custo total de energia de um aplicativo. Uma tarefa em segundo plano é qualquer atividade de programa que tenha sido registrada com o sistema a ser executado sem que o aplicativo esteja aberto. Consulte Criar e registrar uma tarefa em segundo plano fora do processo para obter mais informações.
Permissões de atividade em segundo plano
Em dispositivos móveis e desktop que executam o Windows 10, versão 1607 ou posterior, os usuários podem exibir seu "Uso da bateria por aplicativo" na seção Bateria das Configurações do Windows. Aqui, eles verão uma lista de aplicativos e a porcentagem de duração da bateria que cada aplicativo consumiu (fora da quantidade de duração da bateria que foi usada desde a última carga). Para aplicativos UWP nesta lista, os usuários podem selecionar o aplicativo para abrir controles relacionados à atividade em segundo plano.
Permissões em segundo plano no celular
Em dispositivos móveis, os usuários verão uma lista de botões de rádio que especificam a configuração da permissão para tarefa em segundo plano desse aplicativo. A atividade em segundo plano pode ser definida como "Sempre permitido", "Nunca permitido" ou "Gerenciado pelo Windows", o que significa que a atividade em segundo plano do aplicativo é regulada pelo sistema de acordo com uma série de fatores.
Permissões em segundo plano na área de trabalho
Em dispositivos da área de trabalho, a configuração "Gerenciado pelo Windows" é apresentada como um comutador de alternância, definido como Ativado por padrão. Se o usuário alternar para Desativado, ele receberá uma caixa de seleção com a qual poderá definir manualmente as permissões de atividade em segundo plano. Quando a caixa for marcada, o aplicativo poderá executar tarefas em segundo plano o tempo todo. Quando a caixa estiver desmarcada, a atividade em segundo plano será desabilitada.
Em seu aplicativo, você pode usar o valor de enumeração BackgroundAccessStatus retornado por uma chamada para o método BackgroundExecutionManager.RequestAccessAsync() para determinar sua configuração de permissão de atividade em segundo plano atual.
Tudo isso quer dizer que, se seu aplicativo não implementar o gerenciamento responsável de atividades em segundo plano, o usuário poderá negar permissões em segundo plano para seu aplicativo completamente, o que não é desejável para nenhuma das partes. Se o aplicativo tiver permissão negada para ser executado em segundo plano, mas exigir atividade em segundo plano para concluir uma ação para o usuário, você poderá notificar o usuário e apontá-lo para as Configurações do Windows. Isso pode ser feito iniciando as configurações do Windows na página Aplicativos em Segundo Plano ou Detalhes de Uso da Bateria.
Trabalhar com o recurso de Economia de Bateria
O Economia de Bateria é um recurso no nível do sistema que os usuários podem configurar em Configurações. Ele corta toda a atividade em segundo plano de todos os aplicativos quando o nível da bateria cai abaixo de um limite definido pelo usuário, exceto pela atividade em segundo plano de aplicativos que foram definidos como "Sempre permitido".
Verifique o status do modo de Economia de Bateria de dentro do aplicativo referenciando a propriedade PowerManager.EnergySaverStatus . É um valor de enumeração: EnergySaverStatus.Disabled, EnergySaverStatus.Off ou EnergySaverStatus.On. Se o aplicativo exigir atividade em segundo plano e não estiver definido como "Sempre permitido", ele deverá lidar com o EnergySaverStatus.On notificando o usuário de que as tarefas em segundo plano fornecidas não serão executadas até que a Economia de Bateria esteja desativada. Embora o gerenciamento de atividades em segundo plano seja a principal finalidade do recurso economia de bateria, seu aplicativo pode fazer ajustes adicionais para conservar ainda mais a energia quando a Economia de Bateria estiver ativada. No caso em que o Battery Saver está ativado, seu aplicativo pode reduzir o uso de animações, interromper a sondagem de local ou atrasar sincronizações e backups.
Otimizar ainda mais as tarefas em segundo plano
Veja a seguir as etapas adicionais que você pode executar ao registrar suas tarefas em segundo plano para torná-las mais conscientes da bateria.
Usar um gatilho de manutenção
Um objeto MaintenanceTrigger pode ser usado em vez de um objeto SystemTrigger para determinar quando uma tarefa em segundo plano é iniciada. As tarefas que usam gatilhos de manutenção só serão executadas quando o dispositivo estiver conectado à energia ac e tiverem permissão para serem executadas por mais tempo. Consulte Usar um gatilho de manutenção para obter instruções.
Utilize o tipo de condição de sistema BackgroundWorkCostNotHigh
As condições do sistema devem ser atendidas para que as tarefas em segundo plano sejam executadas (consulte Definir condições para executar uma tarefa em segundo plano para obter mais). O custo de trabalho em segundo plano é uma medida que indica o impacto relativo da energia da execução da tarefa em segundo plano. Uma tarefa em execução quando o dispositivo está conectado à energia AC seria marcada como baixa (pouco/nenhum impacto na bateria). Uma tarefa em execução quando o dispositivo está na energia da bateria com a tela desligada é marcada como alta porque, presumivelmente, há pouca atividade de programa em execução no dispositivo no momento, de modo que a tarefa em segundo plano teria um custo relativo maior. Uma tarefa em execução quando o dispositivo está na energia da bateria com a tela ativada é marcada como média, porque presumivelmente já há alguma atividade do programa em execução, e a tarefa em segundo plano adicionaria um pouco mais ao custo de energia. A condição do sistema BackgroundWorkCostNotHigh simplesmente atrasa a capacidade da tarefa de ser executada até que a tela esteja ligada ou o dispositivo esteja conectado à energia elétrica.
Testar a eficiência da bateria
Certifique-se de testar seu aplicativo em dispositivos reais para quaisquer cenários de alto consumo de energia. É uma boa ideia testar seu aplicativo em muitos dispositivos diferentes, com a Economia de Bateria ativada e desativada e em ambientes de força de rede variável.