Passer au contenu principal
Ce guide explique comment la mémoire est gérée dans le SDK unifié PlayFab, y compris les options de personnalisation et les bonnes pratiques pour éviter les fuites de mémoire et garantir une gestion sûre des opérations asynchrones.

Vue d’ensemble

Le SDK unifié PlayFab offre aux développeurs un contrôle précis de l’utilisation de la mémoire en prenant en charge les hooks d’allocation personnalisés, le nettoyage explicite des ressources et la gestion sûre des opérations asynchrones. Il est ainsi adapté aux environnements hautes performances ou aux ressources limitées, comme les jeux et les plateformes embarquées.

Allocation de mémoire personnalisée

Le SDK vous permet de définir des fonctions personnalisées d’allocation et de libération de mémoire à l’aide de PFMemoryHooks. Vous pouvez ainsi intégrer le SDK à vos systèmes de gestion de la mémoire existants, tels que les arènes, les pools ou les allocateurs propres à une plateforme.

Définition de hooks de mémoire personnalisés

Remarques :
  • Les hooks doivent être définis avant l’appel à PFServicesInitialize.
  • Ils ne peuvent pas être modifiés une fois le SDK initialisé.
  • S’ils ne sont pas définis, le SDK utilise par défaut l’allocation standard (malloc/free).

Opérations asynchrones

La plupart des appels d’API du SDK sont asynchrones. Chaque appel asynchrone nécessite un XAsyncBlock valide qui doit rester en vie pendant toute la durée de la requête.

Utilisation sûre de XAsyncBlock

Bonnes pratiques :
  • N’allouez pas XAsyncBlock sur la pile, sauf si vous pouvez garantir sa durée de vie.
  • Libérez la propriété s’il est alloué dynamiquement, et effectuez le nettoyage dans le rappel.
  • Évitez de capturer des références ou des pointeurs invalidés dans la lambda.

Nettoyage des ressources

Le SDK utilise des handles (par exemple, PFEntityHandle, PFServiceConfigHandle) qui doivent être fermés explicitement lorsqu’ils ne sont plus nécessaires.

Fermeture des handles et désinitialisation

Important :
  • Fermez toujours les handles PlayFab pour éviter les fuites.
  • Attendez la fin de PFServicesUninitializeAsync avant l’arrêt.

Bonnes pratiques

  • Définir les hooks de mémoire tôt : avant tout autre appel d’API PlayFab.
  • Éviter les fuites de mémoire : fermez les handles et gérez soigneusement les ressources asynchrones.
  • Utiliser des profileurs de mémoire : en particulier sur les plateformes aux budgets mémoire serrés.
  • Utiliser des allocateurs en pool : pour les allocations fréquentes ou critiques en termes de performances.

Voir aussi

Dernière modification le 8 octobre 2026