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.