Otimização de desempenho do Android

Siga as instruções nesta seção para garantir que seus dispositivos Android minimizem o uso de recursos e otimizem o desempenho. Aproveite também os vários testes e ferramentas descritos em Avaliação de performance como parte do seu trabalho para aproveitar ao máximo o Android.

Armazenamento em cache de APK

Este documento descreve o design de uma solução de armazenamento em cache de APK para a instalação rápida de apps pré-carregados em um dispositivo compatível com partições A/B. Os OEMs podem alocar pré-carregamentos e apps favoritos no cache do APK armazenado na partição B, que normalmente fica vazia, em novos dispositivos com particionamento A/B, sem afetar o espaço de dados voltados ao usuário.

Tempos de inicialização

O Android 8.0 permite reduzir os tempos de inicialização com suporte a várias melhorias em uma variedade de componentes. Este documento fornece orientações para parceiros sobre como melhorar os tempos de inicialização de dispositivos Android específicos.

Saúde

O Android 9 inclui a HAL android.hardware.health 2.0, uma atualização de versão principal da HAL health@1.0. Essa nova HAL oferece uma separação mais limpa entre o framework e o código do fornecedor, mais graus de liberdade para a personalização do fornecedor em relatórios de informações de saúde e mais informações de integridade do dispositivo do que apenas a bateria.

Low-memory killer

O processo lmkd do espaço do usuário implementa a mesma funcionalidade, mas com mecanismos de kernel já existentes para detectar e estimar a pressão da memória. Ele usa eventos vmpressure gerados pelo kernel para receber notificações sobre níveis de pressão da memória.

Otimização guiada por perfil

O sistema de build do Android oferece suporte ao uso da otimização guiada por perfil (PGO, na sigla em inglês) do Clang em módulos nativos do Android com regras de build de blueprint.

Otimização de código e recursos do R8

O sistema de build do Android usa o compilador R8 para reduzir, otimizar e remover código e recursos não utilizados de destinos DEX (android_app, android_test e módulos java_library instaláveis). Em bibliotecas estáticas (android_library e java_library estático), o Soong usa o bloco optimize para anexar e exportar regras de manutenção do consumidor.

Para mais informações sobre como configurar a otimização do R8 e manter regras, consulte Otimizar código e recursos da plataforma com o R8.

Snapshots de tarefas

Os snapshots de tarefas são uma infraestrutura introduzida no Android 8.0 que combina capturas de tela para miniaturas de apps recentes e superfícies salvas do Window Manager. As miniaturas de "Recentes" representam o último estado de uma tarefa na visualização "Recentes".

Registro prévio de escrita

O Android 9 apresenta um modo especial do SQLiteDatabase chamado WAL de compatibilidade (registro prévio de gravação) que permite que um banco de dados use journal_mode=WAL enquanto preserva o comportamento de manter, no máximo, uma conexão por banco de dados.

Gerente de NPU

O Android 17 e versões mais recentes oferecem suporte ao gerenciador da unidade de processamento neural (NPU, na sigla em inglês), que coordena alocações de recursos, prioriza cargas de trabalho e rastreia o status de execução para manter a estabilidade do sistema e otimizar o desempenho do dispositivo.