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 gráfica 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

No nível da API, a API Memory Advice define um conjunto de estados de orientação de memória e os comunica a apps com um conjunto de funções.

Introdução Introdução aos jogos do Unity

Distribuições

A API Memory Advice é parte do Android Games Development Kit (AGDK) e é distribuída por estes canais:

Os jogos precisam usar a versão da API Memory Advice recomendada para o ambiente de build deles. Para o Android Studio, recomendamos a versão do Jetpack. Para a Android Game Development Extension (AGDE), recomendamos a versão na página de download do AGDK.

Recursos

Esta seção descreve os recursos da API Memory Advice.

Estado da memória

A API informa os estados de memória abaixo aos apps:

  • MEMORYADVICE_STATE_OK
  • MEMORYADVICE_STATE_APPROACHING_LIMIT
  • MEMORYADVICE_STATE_CRITICAL

Para saber mais, consulte as páginas de referência memoryadvice_memorystate.

Como informar o estado da memória

A API oferece suporte à geração de relatórios do estado da memória por um mecanismo de pesquisa ou de callback:

  • Pesquisa:
    Um app pode chamar a API a qualquer momento para extrair o estado da memória.

  • Callback:
    Um app pode registrar uma função de callback com a API Memory Advice. O app especifica a frequência de chamada para o callback. A API usa a frequência para determinar quando executar o callback quando a condição da memória do aplicativo estiver se aproximando do limite seguro ou estiver criticamente baixa. O callback não é invocado se a condição de memória for segura. O callback é executado na própria linha de execução, não em uma que pertença ao app.

Considerações sobre custo e frequência de chamadas

A API Memory Advice usa o tempo computacional para gerar o status da memória. O custo varia de acordo com o dispositivo, mas geralmente fica entre 1 ms e 3 ms por chamada. Considere essa sobrecarga ao determinar a frequência de pesquisa do estado da memória ou qual frequência especificar para o callback do estado da memória.

Requisitos

Requisitos do dispositivo

  • Android 4.4 (nível 19 da API) ou versões mais recentes.

Requisitos do app

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

  • A API só oferece suporte a dispositivos físicos, não a emuladores.

Requisitos de versão do NDK

A versão da API Memory Advice oferece suporte às versões mais comuns do NDK. Consulte as notas da versão para conferir a lista de NDKs com suporte.

Outros recursos

Problemas e feedback

A API Memory Advice está na versão Beta. Seu feedback é importante. Se você tiver sugestões ou encontrar problemas ao usar a API, crie um problema no IssueTracker.