Uma ótima experiência do usuário é fundamental para a missão do Android, e cumprir essa promessa exige manter os dispositivos rápidos, responsivos e confiáveis. Por isso, a otimização de memória é mais importante do que nunca. Em todo o ecossistema, os novos dispositivos estão mantendo ou até diminuindo a capacidade de memória física em resposta aos aumentos de preço. No entanto, os usuários continuam esperando a mesma experiência de app perfeita e de alto desempenho.
No Android 17, introduzimos limites de memória por app, começando com dispositivos Pixel, para ajudar a proteger a experiência geral do usuário contra aplicativos que usam memória em excesso e causam lentidão em todo o sistema. No próximo ano, um número crescente de fabricantes vai aproveitar os limites de memória por app do Android em todo o portfólio de configurações de RAM de dispositivos, de 4 GB a 16 GB ou mais. Se o app exceder esses limites, ele será desacelerado e poderá ser encerrado. Otimizar o consumo de memória do app é essencial para evitar a limitação do SO e manter uma experiência do usuário perfeita.
Nesta postagem, vamos explicar como esses limites funcionam nos bastidores, como medir seu consumo de memória usando novas métricas do Android vitals e etapas práticas para otimizar seu app ou jogo.
Noções básicas sobre limites de memória
Quando o app excede a capacidade de memória, o Android toma medidas progressivas para proteger a capacidade de resposta do dispositivo:
- Troca de zRAM: se o app atingir o limite alocado, o sistema vai forçar as páginas do app para a zRAM (RAM compactada). Embora o zRAM impeça a remoção imediata, a compressão e a descompressão de páginas adicionam sobrecarga de CPU, o que pode resultar em instabilidade perceptível da interface e lentidão na experiência.
- Encerramento do processo: se o app continuar aumentando o uso da memória além do limite do zRAM, ele será encerrado pelo sistema. Para determinar se a sessão do app foi afetada por essas restrições no campo, chame
getDescription()emApplicationExitInfo. Se o sistema aplicou um limite, o motivo da saída é informado comoREASON_OTHER, e a string de descrição vai conter "MemoryLimiter:AnonSwap". Você também pode usar o criação de perfil com base em gatilhos usandoTRIGGER_TYPE_ANOMALYpara capturar automaticamente despejos de heap quando o limite de memória for atingido.
Para saber mais sobre os limites de memória por app e a aplicação do sistema, consulte a documentação sobre limites de memória de apps no Android 17. Para testar seu aplicativo em diferentes configurações de dispositivo, use os comandos adb do Memory Limiter.
Monitoramento e diagnóstico de problemas de memória
Não é possível otimizar o que não pode ser medido. Para identificar vazamentos de memória, alocações excessivas de heap e falhas de falta de memória (OOM) em todo o ecossistema Android, é necessário usar ferramentas de monitoramento complementares:
- Saúde em nível macro com o Android vitals:para ter uma visibilidade ampla em nível de população sem sobrecarga adicional, o Android vitals do Google Play Console oferece métricas essenciais, como Uso da memória (RSS anônimo + espaço de troca) e Uso da memória de bitmap. Isso oferece um instantâneo claro da distribuição da memória em diferentes estados de processo (em primeiro plano, em segundo plano, serviços percebidos pelo usuário e em cache) e intervalos de classe de RAM, ajudando você a identificar outliers de memória.
- Saídas do Memory Limiter e rastreamento de OOM com o Firebase Crashlytics:para ficar por dentro da degradação grave da memória antes que ela afete suas principais métricas, a versão 20.1.0 do Crashlytics apresenta dados de depuração adicionais para ajudar você a detectar, priorizar e corrigir exceções de falta de memória e encerramentos do Memory Limiter. O rastreamento desses eventos com registros personalizados e metadados de chave-valor oferece contexto imediato sobre o status do processo quando ocorre uma falha de memória.
- Rastreamentos no campo com o ProfilingManager:para equipes capazes de manter um framework de observabilidade de performance, a API
ProfilingManagerintroduzida no Android 15 (nível 35 da API) permite que seu app solicite e colete programaticamente artefatos detalhados de depuração de memória, como despejos de heap Java e perfis de heap diretamente de dispositivos de produção. Também é possível acionar capturas de heap dump com base em sinais específicos do sistema, comoTRIGGER_TYPE_OOMeTRIGGER_TYPE_ANOMALY.
Leia nossa documentação para saber mais sobre outras técnicas de monitoramento de memória.
Resumo e próximas etapas
Com o aumento dos limites de memória por app no Android em todas as classes de RAM, agora é a hora de auditar o consumo de memória:
- Priorize otimizações de memória: evite que seu app seja afetado por limites de memória usando práticas recomendadas.
- Monitore o uso da memória: monitore o comportamento da memória do app para detectar e resolver comportamentos anômalos.
- Otimize seu jogo: siga as orientações mais recentes para jogos e apps multimídia complexos para maximizar a economia de memória em todos os estados de processo.
Recursos e referências úteis
- Mudanças de comportamento do Android 17: limites de memória do app
- Android Vitals: Uso da memória (métrica RSS + troca) e Uso da memória de bitmap
- Blog de desenvolvedores Android: Priorizar etapas de eficiência de memória para o Android 17
- Guia para desenvolvedores: Gerenciar a memória do app
-
Novidades sobre produtosHoje, estamos lançando o Android 17, que já está disponível para a maioria dos dispositivos Pixel compatíveis. Aguarde novos dispositivos com o Android 17 nos próximos meses.
Matthew McCullough • Leitura de 13 minutos -
Novidades sobre produtosNo Google I/O 2026, mostramos como os avanços mais recentes no ecossistema Android podem ajudar você a aumentar a qualidade do app e maximizar a eficiência do desenvolvimento.
Ataul Munim • Leitura de 3 minutos -
Novidades sobre produtosUm pilar do ecossistema Android é nosso compromisso compartilhado com a confiança do usuário. À medida que o cenário móvel evoluiu, nossa abordagem para proteger informações sensíveis também mudou.
Robert Clifford • Leitura de 3 minutos
Receba os insights mais recentes sobre desenvolvimento Android na sua caixa de entrada semanalmente.