Bateria
Performance
Mobile
Otimização
iOS
Android

Consumo de Bateria em Apps: Como Otimizar Performance Mobile

Bateria é recurso precioso em dispositivos móveis. Apps que drenam bateria são desinstalados e mal avaliados. Este guia apresenta as causas de consumo excessivo e técnicas para criar apps eficientes em energia.

Por Que Bateria Importa

Experiência do Usuário

Ninguém quer app que mata a bateria. Frustração leva a uninstall.

Avaliações

"Drena bateria" aparece em reviews negativas frequentemente.

Restrições do Sistema

iOS e Android limitam apps que consomem demais. Background termination.

Causas de Consumo Excessivo

Background Activity

Processos rodando quando app não está em uso.

Localização Constante

GPS é um dos maiores consumidores. Use só quando necessário.

Network Requests

Requisições frequentes, especialmente com tela desligada.

Wake Locks

Manter CPU ou tela acordada indevidamente.

Animações Pesadas

Animações complexas exigem GPU. Use moderadamente.

Processamento Intensivo

Cálculos pesados, decodificação de mídia.

Push Notifications Excessivas

Cada notificação acorda o dispositivo.

Monitorando Consumo

Android

Battery Historian, Android Studio Profiler.

iOS

Xcode Energy Gauge, Instruments energy log.

Métricas

CPU time, network activity, location updates, wakeups.

Otimização de Rede

Batching

Agrupe requisições em vez de fazer uma por uma.

Compression

Dados menores = menos tempo de transmissão.

Caching

Evite requisições repetidas. Cache agressivo.

Prefetch Inteligente

Baixe dados quando conectado e em Wi-Fi.

Exponential Backoff

Falhas não devem causar retry agressivo.

Otimização de Localização

Precisão Adequada

Use a menor precisão necessária. High accuracy consume muito.

Geofencing

Deixe sistema notificar quando entrar em região. Não poll constantemente.

Significant Location Changes

Para iOS, alternativa eficiente a updates contínuos.

Fused Location Provider

Para Android, balanceia precisão e consumo.

Parar Quando Desnecessário

Remova listeners quando não precisa mais.

Background Work

iOS

Background App Refresh limitado. BGTaskScheduler para tarefas.

Android

WorkManager para tarefas deferrable. Respeite Doze mode.

Princípio Geral

Faça o mínimo necessário. Complete e durma.

Evite Polling

Use push/websockets em vez de polling constante.

Wake Locks

O Que São

Impedem CPU ou tela de dormir.

Riscos

Wake lock esquecido = bateria drenada.

Boas Práticas

Minimize duração, libere imediatamente, use timeouts.

Android

Prefira JobScheduler ou WorkManager.

Animações Eficientes

Hardware Acceleration

Use quando possível. GPU mais eficiente que CPU para gráficos.

Frame Rate

60fps é suave, mas consome. Reduza quando aceitável.

Animações Offscreen

Pause animações não visíveis.

Lottie

Animações vetoriais eficientes.

Rendering

Layouts Simples

Hierarquias profundas são custosas. Flattenize.

RecyclerView/List

Recicle views. Não recrie constantemente.

Overdraw

Evite desenhar pixels múltiplas vezes. Inspecione com ferramentas.

Push Notifications

Prioridade Correta

Normal priority para não urgentes. Batch no servidor.

Payload Pequeno

Menos dados = menos processamento.

Silent Push

Para sync em background. Não acorde tela desnecessariamente.

Media

Codec Eficiente

H.265/HEVC mais eficiente que H.264 em muitos casos.

Resolution Adequada

Não decodifique 4K para thumbnail.

Playback

Pause quando não visível. Libere recursos.

Sensores

Use Sob Demanda

Registre listener apenas quando necessário.

Frequência Adequada

Menor frequência possível que atenda requisito.

Batch Delivery

Agrupe leituras para menos wakeups.

Ferramentas de Diagnóstico

Android

  • Battery Historian
  • Android Studio Profiler
  • dumpsys batterystats

iOS

  • Xcode Energy Organizer
  • Instruments (Energy Log)
  • MetricKit

Testes

Cenários Reais

Teste em uso real, não apenas em lab.

Dispositivos Variados

Performance varia entre dispositivos.

Bateria Baixa

Comportamento com 20%, 10%, 5%.

Background Extended

Deixe em background por horas. Meça.

APIs de Sistema

Android

  • Doze mode: respeite, teste
  • App Standby Buckets: entenda categorias
  • Battery Saver: adapte comportamento

iOS

  • Low Power Mode: reduza atividade
  • Background App Refresh: respeite preferência
  • BGTaskScheduler: para tarefas eficientes

Dark Mode

Telas OLED

Pixels pretos estão desligados. Dark mode economiza.

Suporte Nativo

Implemente seguindo guidelines. Sistema adapta.

Erros Comuns

GPS Sempre Ligado

Esquecer de parar updates de localização.

Timer Agressivo

setInterval de 1 segundo desnecessário.

Wake Lock Vazado

Não liberado em exceções ou edge cases.

Debug em Produção

Logs excessivos, features de debug ligadas.

Conclusão

Otimização de bateria é responsabilidade do desenvolvedor. Monitore consumo, minimize background, use APIs eficientes e teste em condições reais. Usuários agradecem, e ficam.

FAQs

1) Como saber se meu app consome muita bateria? Use ferramentas de profiling. Compare com apps similares.

2) Background é o maior problema? Frequentemente sim. Atividade com tela desligada é muito custosa.

3) GPS consome quanto? É um dos maiores consumidores. Use precisão mínima necessária.

4) Dark mode realmente economiza bateria? Em telas OLED, sim significativamente. LCD, não.

5) Como testar consumo de bateria? Use profilers, teste em dispositivos reais, simule uso prolongado.

Leia também