Inizia a utilizzare l'API Memory Advice per i giochi Unity

Questa guida descrive come utilizzare il plug-in Memory Advice per Unity per integrare l'API Memory Advice nel tuo gioco Unity.

Requisiti

Il plug-in è supportato su:

  • Unity 2019 con Android NDK r19

  • Unity 2020 con Android NDK r19

  • Unity 2021 con Android NDK r21

  • Unity 2022 con Android NDK r23

Se utilizzi altre versioni di Unity e di NDK per Android, potresti riscontrare problemi imprevisti. Per trovare la versione NDK utilizzata dall'installazione di Unity, consulta la guida alla configurazione dell'ambiente Android per Unity.

Scarica il plug-in

Scarica il plug-in.

Importa il plug-in

Il plug-in è un pacchetto Unity che puoi importare nel tuo progetto. Per importare il plug-in, fai clic su Asset > Importa pacchetto > Pacchetto personalizzato e seleziona il file .unitypackage scaricato. Puoi anche fare doppio clic sul file .unitypackage dopo aver aperto il progetto Unity.

Utilizzare la libreria

In questa sezione viene descritto come utilizzare la libreria.

Inizializzare la libreria

Devi inizializzare la raccolta una volta all'avvio dell'app. Per farlo, aggiungi questo codice al tuo progetto:

void Start()
{
    MemoryAdviceErrorCode errorCode = MemoryAdvice.Init();
    if(errorCode == MemoryAdviceErrorCode.Ok)
    {
        Debug.Log("Memory advice init successfully");
    }
}

Sondaggio per lo stato della memoria

Puoi recuperare lo stato della memoria della tua app eseguendo il polling della libreria all'intervallo a tua scelta. Utilizza la funzione MemoryAdvice_getMemoryState ogni volta che devi eseguire il polling della libreria:

MemoryState memoryState = MemoryAdvice.GetMemoryState();
switch (memoryState)
{
    case MemoryState.Ok:
        //The application can safely allocate memory.
        break;
    case MemoryState.ApproachingLimit:
        // The application should minimize memory allocation.
        break;
    case  MemoryState.Critical:
        // The application should free memory as soon as possible
        // until the memory state changes.
        break;
}

Configurare un Watcher

Puoi anche configurare un watcher e registrare l'API Memory Advice: la funzione di visualizzazione verrà richiamata quando lo stato sta per raggiungere il limite o lo stato di memoria critico (ma non per lo stato ok). Ad esempio, il seguente codice crea un watcher e richiede una notifica API Memory Advice ogni 2 secondi:

MemoryAdviceErrorCode errorCode = MemoryAdvice.RegisterWatcher(2000,
        new MemoryWatcherDelegateListener((MemoryState state) =>
    {
        switch (memoryState)
        {
            case MemoryState.ApproachingLimit:
                // The application should minimize memory allocation.
                break;
            case  MemoryState.Critical:
                // The application should free memory as soon as possible
                // until the memory state changes.
                break;
        }
    })
);

if(errorCode == MemoryAdviceErrorCode.Ok)
{
    Debug.Log("Memory Advice watcher registered successfully");
}

Passaggio successivo

Puoi scaricare il nostro progetto Unity di esempio, che fornisce una UI semplice per l'allocazione e la liberazione della memoria e che utilizza l'API Memory Advice per monitorare lo stato della memoria.

Consulta la panoramica per risorse aggiuntive e problemi relativi ai report.