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 che hai scaricato. Puoi anche fare doppio clic sul file .unitypackage dopo aver aperto il progetto Unity.

Utilizzare la libreria

Questa sezione descrive come utilizzare la libreria.

Inizializzare la libreria

Devi inizializzare la libreria 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 stato memoria

Puoi recuperare lo stato della memoria della tua app eseguendo il polling della libreria in corrispondenza dell'intervallo che preferisci. 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;
}

Configura uno spettatore

Puoi anche configurare un watcher e registrare l'API Memory Advice; la tua funzione watcher verrà chiamata quando lo stato sta per raggiungere il limite o lo stato di memoria critico (ma non per lo stato ok). Ad esempio, il codice seguente 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 di esempio Unity, che offre una semplice UI per l'allocazione e il rilascio di memoria e utilizza l'API Memory Advice per monitorare lo stato della memoria.

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