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 API Memory Advice in il 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

Potresti riscontrare problemi imprevisti se utilizzi altre versioni di Unity e Android NDK. Per trovare la versione NDK utilizzata dalla tua installazione Unity, consulta il 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 sul plug-in, fai clic su Assets > Importa pacchetto > Pacchetto personalizzato e seleziona .unitypackage file che hai scaricato. Puoi anche fare doppio clic .unitypackage dopo l'apertura del 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 lo stato della memoria

Puoi recuperare lo stato della memoria della tua app eseguendo il polling della libreria nella intervallo di tempo desiderato. Utilizza il valore di MemoryAdvice_getMemoryState ogni volta che devi eseguire un polling nella 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 smartwatch

Puoi anche configurare un visualizzatore e registrare l'API Memory Advice e la funzione watcher verrà chiamato quando lo stato sta per raggiungere il limite o stato memoria (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 di esempio Unity che fornisce una UI semplice per allocare e liberare memoria e utilizza API Memory Advice per monitorare lo stato della memoria.

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