In dieser Anleitung wird beschrieben, wie Sie das Memory Advice-Plug-in für Unity verwenden, um die Memory Advice API in Ihr Unity-Spiel einzubinden.
Voraussetzungen
Das Plug-in wird auf folgenden Plattformen 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 und dem Android NDK verwenden, können unerwartete Probleme auftreten. Informationen zur NDK-Version, die von Ihrer Unity-Installation verwendet wird, finden Sie in der Anleitung zum Einrichten der 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 > Import Package > Custom Package und wählen Sie die heruntergeladene .unitypackage
-Datei aus. Sie können auch auf die Datei .unitypackage
doppelklicken, nachdem Sie Ihr Unity-Projekt geöffnet haben.
Bibliothek verwenden
In diesem Abschnitt wird beschrieben, wie Sie die Bibliothek verwenden.
Bibliothek initialisieren
Sie müssen die Bibliothek einmal beim Start der App initialisieren. Fügen Sie dazu Ihrem Projekt den folgenden Code hinzu:
void Start()
{
MemoryAdviceErrorCode errorCode = MemoryAdvice.Init();
if(errorCode == MemoryAdviceErrorCode.Ok)
{
Debug.Log("Memory advice init successfully");
}
}
Arbeitsspeicherstatus abfragen
Sie können den Speicherstatus Ihrer App abrufen, indem Sie die Bibliothek in einem von Ihnen gewählten Intervall abfragen. Verwenden Sie die Funktion MemoryAdvice_getMemoryState, 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;
}
Beobachter einrichten
Sie können auch einen Watcher einrichten und die Memory Advice API registrieren. Ihre Watcher-Funktion wird dann aufgerufen, wenn sich der Status dem Grenzwert oder dem kritischen Speicherstatus nähert (aber nicht für den Status „OK“). Mit dem folgenden Code wird beispielsweise ein Watcher erstellt und alle 2 Sekunden eine Benachrichtigung über die Memory Advice API 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, das eine einfache Benutzeroberfläche zum Zuweisen und Freigeben von Arbeitsspeicher bietet und die Memory Advice API zum Überwachen des Arbeitsspeicherstatus verwendet.
Zusätzliche Ressourcen und Informationen zum Melden von Problemen finden Sie in der Übersicht.