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.