A API Memory Advice está na versão Beta.

Visão geral da API Memory Advice

A API Memory Advice é uma API nativa experimental que ajuda os apps Android a permanecerem dentro dos limites de segurança para o uso de memória. Para conseguir isso, a API estima a quantidade de recursos de memória que estão em uso e notifica o app quando determinados limites são excedidos. A API também pode informar o percentual estimado de uso de memória diretamente ao app.

As estimativas fornecidas pela API ajudam a determinar quando o app precisa ajustar o uso de memória e a encontrar áreas para melhorar em versões futuras do app. Os ajustes podem incluir qualquer coisa que mude o consumo de memória, como a redução dos detalhes e da qualidade dos recursos visuais e de áudio.

Os recursos de memória estimados incluem memória de heap nativa alocada por malloc e memória de gráficos alocada pelas APIs OpenGL ES e Vulkan Graphics, tornando a API Memory Advice ideal para jogos e apps com muitos gráficos.

As estimativas são feitas com base no seguinte:

  • Métricas de dispositivo coletadas pela API
  • Dados de aprendizado de máquina de dispositivos
  • Teste de dispositivo

Começar

Recursos

Um app pode chamar a API a qualquer momento para extrair o estado da memória, o que indica se a alocação de memória é segura, está próxima do limite ou em estado crítico.

Frequência de coleta

É possível configurar a taxa em que a API coleta informações por conta própria ou usar um callback fornecido pela API para determinar a taxa. Isso permite que você escolha uma taxa de coleta que equilibre o custo de chamada e a taxa de alocação de memória usada pelo app. O custo recomendado da chamada varia de acordo com o dispositivo, mas geralmente é entre 1 e 3 ms por chamada. Uma taxa de alocação de memória mais alta permite uma reação mais rápida aos avisos de memória.

Requisitos

Requisitos do dispositivo:

  • Nível 19 da API do Android (Android 4.4 / KitKat) ou mais recente.

Requisitos do app:

  • A API só oferece suporte a apps nativos, escritos principalmente em C/C++.

  • A API só oferece suporte a apps de 64 bits.