Panoramica dell'API Memory Advice

L'API Memory Advice è un'API nativa sperimentale che aiuta le app Android a rispettare i limiti di sicurezza per l'utilizzo della memoria. A questo scopo, l'API stima la quantità di risorse di memoria in uso e invia una notifica all'app quando vengono superate determinate soglie. L'API può anche segnalare la percentuale stimata di memoria utilizzata direttamente nella tua app.

Le stime fornite dall'API aiutano a determinare quando l'app dovrebbe regolare l'utilizzo della memoria o per trovare aree da migliorare nelle versioni future dell'app. Le modifiche potrebbero includere qualsiasi cambiamento che modifichi il consumo della memoria, ad esempio la riduzione dei dettagli e della qualità degli asset video e audio.

Le risorse di memoria stimate includono la memoria heap nativa allocata da Malloc e la memoria grafica allocata dalle API OpenGL ES e Vulkan Graphics, rendendo l'API Memory Advice ideale per giochi e app con grafica ad alta intensità.

Le stime vengono effettuate in base a quanto segue:

  • Metriche relative ai dispositivi raccolte dall'API
  • Dati di machine learning dai dispositivi
  • Test dei dispositivi

A livello di API, l'API Memory Advice definisce un insieme di stati di consulenza per la memoria e li comunica alle app con un insieme di funzioni.

Inizia Inizia a usare i giochi Unity

Distribuzioni

L'API Memory Advice fa parte dell'Android Games Development Kit (AGDK) e viene distribuita attraverso i seguenti canali:

I giochi dovrebbero usare la release dell'API Memory Advice consigliata per il loro ambiente di build. Per Android Studio, consigliamo la release Jetpack. Per l'estensione per lo sviluppo di giochi Android (AGDE), consigliamo la release sulla pagina di download di AGDK.

Funzionalità

Questa sezione descrive le funzionalità dell'API Memory Advice.

Stato memoria

L'API segnala alle app i seguenti stati della memoria:

  • STATO_MEMORYADVICE_OK
  • MEMORYADVICE_STATE_APPROACHING_LIMITE
  • CRITICO_STATALE_MEMORYADVICE

Per maggiori dettagli, vedi le pagine di riferimento di memoryadvice_memorystate.

Registrazione dello stato della memoria

L'API supporta i report sullo stato della memoria tramite un polling o un meccanismo di callback:

  • Sondaggio:
    Un'app può chiamare l'API in qualsiasi momento per recuperare lo stato della memoria.

  • Callback:
    Un'app può registrare una funzione di callback con l'API Memory Advice. L'app specifica la frequenza di chiamata del callback. L'API utilizza la frequenza per determinare quando eseguire il callback quando la condizione di memoria dell'applicazione sta per raggiungere il limite di sicurezza o è molto basso. Il callback non viene richiamato se la condizione della memoria è sicura. Il callback viene eseguito dal proprio thread, non da un thread appartenente all'app.

Considerazioni su costi e frequenza delle chiamate

L'API Memory Advice utilizza il tempo di calcolo per generare lo stato della memoria. Il costo varia in base al dispositivo, ma in genere è compreso tra 1 ms e 3 ms per chiamata. Dovresti considerare questo overhead per determinare la frequenza con cui eseguire il polling dello stato della memoria o la frequenza da specificare per il callback dello stato della memoria.

Requisiti

Requisiti del dispositivo

  • Android 4.4 (livello API 19) o versioni successive.

Requisiti delle app

  • L'API supporta solo le app native (app scritte principalmente in C/C++).

  • L'API supporta solo dispositivi fisici; gli emulatori non sono supportati.

Requisiti della versione NDK

La release dell'API Memory Advice supporta le versioni NDK più diffuse; consulta le note di rilascio per l'elenco di NDK supportati.

Risorse aggiuntive

Problemi e feedback

L'API Memory Advice è in versione beta e è disponibile per ricevere feedback. Se hai suggerimenti o rilevi problemi durante l'utilizzo dell'API, crea un problema in IssueTracker.