# TapBattleClient.FinalizeSDK
# 功能描述
终止化Tap小游戏多人联机SDK,自动销毁OnlineBattleManager实例,释放所有资源。通常在游戏退出或不再需要使用多人联机功能时调用。
# 方法签名
public static void FinalizeSDK()
# 参数说明
无参数
# 使用说明
# 基本流程
- 确保已经完成对战相关操作(离开房间、断开连接等)
- 调用
FinalizeSDK方法 - SDK 自动销毁 OnlineBattleManager 实例并释放所有资源
- 如需再次使用,需要重新调用
Initialize进行初始化
# 注意事项
- 清理时机 - 通常在以下场景调用:
- 游戏应用退出时
- 切换到不需要多人联机功能的场景时
- 长时间不使用多人联机功能时
- 自动断开连接 - 调用此方法会自动断开与服务器的连接
- 释放所有资源 - 会释放Manager实例、随机数生成器等所有相关资源
- 不可恢复 - 调用后如需再次使用多人联机功能,必须重新调用
Initialize - 线程安全 - 建议在主线程调用
# 代码示例
# 示例1:应用退出时清理
using UnityEngine;
public class GameManager : MonoBehaviour
{
void OnApplicationQuit()
{
// 应用退出时清理SDK资源
TapBattleClient.FinalizeSDK();
Debug.Log("多人联机SDK已终止化");
}
}
# 最佳实践
- 按顺序清理 - 建议按照"离开房间 → 断开连接 → 终止化SDK"的顺序清理资源
- 确保调用 - 在应用退出时务必调用,避免资源泄漏
- 单例销毁 - 如果在单例中使用SDK,在单例销毁时调用
- 场景管理 - 使用DontDestroyOnLoad时,在OnDestroy中调用
- 异常处理 - 清理前先确认当前状态,避免重复清理
# 常见问题
# Q: 必须先断开连接才能调用 FinalizeSDK 吗?
A: 不是必须的。FinalizeSDK 会自动处理断开连接,但建议按正常流程依次调用各清理方法,以确保资源正确释放。
# Q: 调用后能否立即重新初始化?
A: 可以。调用 FinalizeSDK 后可以立即调用 Initialize 重新初始化SDK。
# Q: 忘记调用会有什么影响?
A: 可能导致资源未正确释放,在某些平台上可能影响性能。建议总是在适当时机调用此方法。
# 相关API
- TapBattleClient.Initialize - 初始化SDK
- TapBattleClient.Disconnect - 断开服务器连接
- TapBattleClient.LeaveRoom - 离开房间
