Información general
El SDK unificado de PlayFab ofrece a los desarrolladores un control preciso sobre el uso de memoria al admitir enlaces de asignación personalizados, limpieza explícita de recursos y manejo seguro de operaciones asincrónicas. Esto lo hace adecuado para entornos de alto rendimiento o con recursos limitados, como juegos y plataformas integradas.Asignación de memoria personalizada
El SDK le permite definir funciones personalizadas de asignación y liberación de memoria mediantePFMemoryHooks. Esto le permite integrar el SDK en sus sistemas de administración de memoria existentes, como arenas, grupos o asignadores específicos de la plataforma.
Establecimiento de enlaces de memoria personalizados
- Los enlaces deben establecerse antes de llamar a
PFServicesInitialize. - No se pueden cambiar una vez inicializado el SDK.
- Si no se establecen, el SDK usa de forma predeterminada la asignación estándar (
malloc/free).
Operaciones asincrónicas
La mayoría de las llamadas a la API en el SDK son asincrónicas. Cada llamada asincrónica requiere unXAsyncBlock válido que debe permanecer activo mientras dure la solicitud.
Uso seguro de XAsyncBlock
- No asigne
XAsyncBlocken la pila a menos que pueda garantizar su duración. - Libere la propiedad si se asigna dinámicamente y realice la limpieza en la devolución de llamada.
- Evite capturar referencias o punteros invalidados en la expresión lambda.
Limpieza de recursos
El SDK usa identificadores (por ejemplo,PFEntityHandle, PFServiceConfigHandle) que deben cerrarse explícitamente cuando ya no se necesiten.
Cierre de identificadores y desinicialización
- Cierre siempre los identificadores de PlayFab para evitar pérdidas.
- Espere a que
PFServicesUninitializeAsyncse complete antes de cerrar.
Procedimientos recomendados
- Establezca los enlaces de memoria pronto: antes de cualquier otra llamada a la API de PlayFab.
- Evite las pérdidas de memoria: cierre los identificadores y administre los recursos asincrónicos con cuidado.
- Use generadores de perfiles de memoria: especialmente en plataformas con presupuestos de memoria ajustados.
- Use asignadores agrupados: para asignaciones frecuentes o críticas para el rendimiento.
