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

In dieser Anleitung wird beschrieben, wie Sie mit dem Memory Advice-Plug-in für Unity die Memory Advice API in Ihr Unity-Spiel einbinden.

Voraussetzungen

Das Plug-in wird unterstützt auf:

  • 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 und dem Android NDK verwenden, können unerwartete Probleme auftreten. Die von Ihrer Unity-Installation verwendete NDK-Version finden Sie im Einrichtungsleitfaden 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. Klicken Sie zum Importieren des Plug-ins auf Assets > Paket importieren > Benutzerdefiniertes Paket und wählen Sie die heruntergeladene Datei .unitypackage aus. Sie können auch nach dem Öffnen des Unity-Projekts auf die Datei .unitypackage doppelklicken.

Bibliothek verwenden

In diesem Abschnitt wird die Verwendung der Bibliothek beschrieben.

Bibliothek initialisieren

Du musst die Bibliothek beim Start der App einmal initialisieren. 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");
    }
}

Arbeitsspeicherstatus abfragen

Sie können den Arbeitsspeicherstatus Ihrer Anwendung abrufen, indem Sie die Bibliothek im gewünschten Intervall abfragen. Verwenden Sie die Funktion MemoryAdvice_getMemoryState immer dann, 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 und die Memory Advice API registrieren. Die Watcher-Funktion wird dann aufgerufen, wenn sich der Status entweder dem Limit oder dem kritischen Arbeitsspeicherstatus nähert (aber nicht für den Zustand „OK“). Mit dem folgenden Code wird beispielsweise ein Watcher erstellt und alle zwei Sekunden eine Memory Advice API-Benachrichtigung angefordert:

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. Es bietet eine einfache Benutzeroberfläche zum Zuweisen und Freigeben von Arbeitsspeicher und verwendet die Memory Advice API, um den Arbeitsspeicherstatus zu überwachen.

In der Übersicht finden Sie weitere Ressourcen und Probleme mit Berichten.