跳轉到主要內容
本指南說明 PlayFab Unified SDK 中如何管理記憶體,包括自訂選項和最佳做法,以避免記憶體流失並確保安全地處理非同步作業。

概觀

PlayFab Unified SDK 支援自訂配置攔截、明確的資源清除以及安全的非同步作業處理,讓開發人員能精確控制記憶體使用量。這使其適用於高效能或資源受限的環境,例如遊戲和內嵌式平台。

自訂記憶體配置

SDK 可讓您使用 PFMemoryHooks 定義自訂的記憶體配置和解除配置函式。這可讓您將 SDK 整合至現有的記憶體管理系統,例如競技場、集區或平台特定的配置器。

設定自訂記憶體攔截

注意:
  • 攔截必須在呼叫 PFServicesInitialize 之前設定。
  • SDK 初始化之後,無法變更攔截。
  • 如果未設定,SDK 預設會使用標準配置 (malloc/free)。

非同步作業

SDK 中的大多數 API 呼叫都是非同步的。每個非同步呼叫都需要有效的 XAsyncBlock,且該區塊必須在要求期間保持存留。

安全地使用 XAsyncBlock

最佳做法:
  • 除非您能保證 XAsyncBlock 的存留期,否則請勿在堆疊上配置它。
  • 如果是動態配置的,請釋放擁有權,並在回呼中進行清除。
  • 避免在 Lambda 中擷取已失效的參考或指標。

資源清除

SDK 使用的控制代碼 (例如 PFEntityHandle、PFServiceConfigHandle) 在不再需要時必須明確關閉。

關閉控制代碼和取消初始化

重要:
  • 一律關閉 PlayFab 控制代碼以防止流失。
  • 請等候 PFServicesUninitializeAsync 完成後再關閉。

最佳做法

  • 儘早設定記憶體攔截:在任何其他 PlayFab API 呼叫之前。
  • 避免記憶體流失:謹慎關閉控制代碼並管理非同步資源。
  • 使用記憶體分析工具:尤其是在記憶體預算嚴格的平台上。
  • 使用集區配置器:適用於效能關鍵或頻繁的配置。

另請參閱

最後修改於 2026年10月8日