Ce guide explique comment utiliser le plug-in Memory Advice pour Unity afin d'intégrer l'API Memory Advice à votre jeu Unity.
Conditions requises
Le plug-in est compatible avec :
Unity 2019 avec le NDK Android r19
Unity 2020 avec le NDK Android r19
Unity 2021 avec le NDK Android r21
Unity 2022 avec le NDK Android r23
Vous pouvez rencontrer des problèmes inattendus si vous utilisez d'autres versions d'Unity et du NDK Android. Pour trouver la version NDK utilisée par votre installation Unity, consultez la Guide de configuration de l'environnement Android pour Unity.
Télécharger le plug-in
Téléchargez le plug-in.
Importer le plug-in
Le plug-in est un package Unity que vous pouvez importer dans votre projet. Importer
le plug-in, cliquez sur Composants > Importer un package > Package personnalisé, puis sélectionnez
.unitypackage
fichier que vous avez téléchargé. Vous pouvez également double-cliquer
.unitypackage
après l'ouverture de votre projet Unity.
Utiliser la bibliothèque
Cette section explique comment utiliser la bibliothèque.
Initialiser la bibliothèque
Vous devez initialiser la bibliothèque au démarrage de l'application. Pour ce faire, ajoutez le code suivant à votre projet :
void Start()
{
MemoryAdviceErrorCode errorCode = MemoryAdvice.Init();
if(errorCode == MemoryAdviceErrorCode.Ok)
{
Debug.Log("Memory advice init successfully");
}
}
Interroger la bibliothèque sur l'état de la mémoire
Vous pouvez récupérer l'état de la mémoire de votre application en interrogeant la bibliothèque à l'intervalle de votre choix. Pour interroger la bibliothèque, utilisez la fonction MemoryAdvice_getMemoryState :
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;
}
Configurer un observateur
Vous pouvez également configurer un observateur et enregistrer l'API Memory Advice. Votre fonction d'observateur sera appelée lorsque l'état sera sur le point d'atteindre la limite ou lorsque l'état de la mémoire sera critique (mais pas pour l'état OK). Par exemple, le code suivant crée un observateur et demande une notification de l'API Memory Advice toutes les deux secondes :
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");
}
Étapes suivantes
Vous pouvez télécharger notre exemple de projet Unity qui fournit une interface utilisateur simple pour allouer et libérer de la mémoire, et qui utilise l'API Memory Advice pour surveiller l'état de la mémoire.
Consultez la présentation pour accéder aux ressources supplémentaires et en savoir plus sur les problèmes liés aux rapports.