Panoramica dell'API Memory Advice

L'API Memory Advice è un'API nativa sperimentale che aiuta le app Android a rimanere entro i limiti di sicurezza per l'utilizzo della memoria. A tal fine, l'API stima la quantità di risorse di memoria in uso e quindi 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 deve modificare l'utilizzo della memoria o a trovare aree da migliorare nelle versioni future dell'app. Le modifiche potrebbero includere qualsiasi modifica che modifichi il consumo di memoria, ad esempio la riduzione dei dettagli e della qualità degli asset video e audio.

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

Le stime vengono effettuate in base a quanto segue:

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

A livello di API, l'API Memory Advice definisce un insieme di stati di consigli sulla 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 tramite i seguenti canali:

I giochi devono 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 dei 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_LIMIT
  • MEMORYADVICE_STATE_CRITICAL

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

Segnalazione dello stato della memoria

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

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

  • Richiama:
    Un'app può registrare una funzione di callback con l'API Memory Advice. L'app specifica la frequenza delle chiamate per il callback. L'API utilizza la frequenza per determinare quando eseguire il callback quando la condizione della memoria dell'applicazione sta per raggiungere il limite di sicurezza o è molto bassa. 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. Devi considerare questo overhead quando determini la frequenza di 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 per la versione NDK

La release dell'API Memory Advice supporta le versioni NDK più diffuse. Consulta le note di rilascio per l'elenco di questo tipo supportato.

Risorse aggiuntive

Problemi e feedback

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