Skip to main content
このガイドでは、PlayFab 統合 SDK でメモリがどのように管理されるかについて説明します。カスタマイズ オプションや、メモリ リークを回避し非同期操作の安全な処理を保証するためのベスト プラクティスも含まれます。

概要

PlayFab 統合 SDK は、カスタム アロケーション フック明示的なリソースのクリーンアップ安全な非同期操作の処理 をサポートすることで、開発者にメモリ使用量の正確な制御を提供します。これにより、ゲームや組み込みプラットフォームなどの高性能または資源制約の環境に適しています。

カスタム メモリ アロケーション

SDK では、PFMemoryHooks を使用してカスタム メモリ割り当ておよび解放関数を定義できます。これにより、アリーナ、プール、プラットフォーム固有のアロケーターなど、既存のメモリ管理システムに SDK を統合できます。

カスタム メモリ フックの設定

注意事項:
  • フックは PFServicesInitialize を呼び出す に設定する必要があります。
  • SDK が初期化されると 変更できません
  • 設定されていない場合、SDK はデフォルトで標準の割り当て (malloc/free) を使用します。

非同期操作

SDK 内のほとんどの API 呼び出しは非同期です。各非同期呼び出しには、リクエストの間存続する必要のある有効な XAsyncBlock が必要です。

XAsyncBlock を安全に使用する

ベスト プラクティス:
  • XAsyncBlock のライフタイムを保証できない限り、スタック割り当てしないでください。
  • 動的に割り当てた場合は所有権を解放し、コールバック内でクリーンアップしてください。
  • 無効化された参照やポインターをラムダ内でキャプチャしないでください。

リソースのクリーンアップ

SDK はハンドル (例: PFEntityHandlePFServiceConfigHandle) を使用します。これらは、不要になったら 明示的に クローズする必要があります。

ハンドルのクローズと初期化解除

重要:
  • リークを防ぐため、常に PlayFab ハンドルをクローズしてください。
  • シャットダウン前に PFServicesUninitializeAsync の完了を待機してください。

ベスト プラクティス

  • メモリ フックを早めに設定: 他の PlayFab API 呼び出しの前に設定します。
  • メモリ リークの回避: ハンドルをクローズし、非同期リソースを慎重に管理します。
  • メモリ プロファイラーの使用: 特にメモリ予算が厳しいプラットフォームで使用します。
  • プール アロケーターの使用: パフォーマンス クリティカルまたは頻繁な割り当てに使用します。

関連項目

最終更新日 2026年8月25日