Erste Schritte mit der Memory Advice API für Unity-Spiele

In diesem Leitfaden wird beschrieben, wie Sie mit dem Memory Advice-Plug-in für Unity Integrieren des Memory Advice API in die Ihr Unity-Spiel.

Voraussetzungen

Das Plug-in wird auf folgenden Geräten unterstützt:

  • Unity 2019 mit Android NDK r19

  • Unity 2020 mit Android NDK r19

  • Unity 2021 mit Android NDK r21

  • Unity 2022 mit Android NDK r23

Wenn Sie andere Versionen von Unity verwenden, können unerwartete Probleme auftreten. das Android NDK. Die von Ihrer Unity-Installation verwendete NDK-Version finden Sie unter die Einrichtungsanleitung für die Android-Umgebung für Unity.

Plug-in herunterladen

Laden Sie das Plug-in herunter.

Plug-in importieren

Das Plug-in ist ein Unity-Paket, das Sie in Ihr Projekt importieren können. So importieren Sie das Plug-in auf Assets > Paket importieren > Benutzerdefiniertes Paket und wählen Sie .unitypackage heruntergeladene Datei. Sie können auch auf die .unitypackage-Datei nach dem Öffnen des Unity-Projekts.

Bibliothek verwenden

In diesem Abschnitt wird die Verwendung der Bibliothek beschrieben.

Bibliothek initialisieren

Sie müssen die Bibliothek einmal initialisieren, wenn die App gestartet wird. Fügen Sie dazu folgenden Code in Ihr Projekt ein:

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

Speicherstatus abfragen

Sie können den Speicherstatus Ihrer App abrufen, indem Sie die Bibliothek am Intervall Ihrer Wahl. Verwenden Sie den Parameter MemoryAdvice_getMemoryState. verwenden, wenn Sie die Bibliothek abfragen müssen:

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;
}

Watcher einrichten

Sie können auch einen Watcher einrichten. die Memory Advice API und Ihre Watcher-Funktion registrieren, wird aufgerufen, wenn sich der Status dem Limit nähert oder die kritische Arbeitsspeicherstatus (aber nicht für den Ok-Zustand). Mit dem folgenden Code wird beispielsweise ein Watcher erstellt, und fordert alle zwei Sekunden eine Memory Advice API-Benachrichtigung an:

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");
}

Nächste Schritte

Sie können unser Unity-Beispielprojekt herunterladen. eine einfache Benutzeroberfläche zum Zuweisen und Freigeben von Arbeitsspeicher Memory Advice API zur Überwachung des Speicherstatus.

In der Übersicht finden Sie weitere Ressourcen und Melden von Problemen.