热更新流程 热更新一般需要包含以下东西: 1.URL1:游戏版本配置文件地址 2.URL2:所有资源的MD5配置文件地址 准备 拉取游戏版本文件 本地服务器版本<服务器拉取的版本 本地游戏版本>=服务器拉取的版本 拉取服务器的MD5资源列表 本地MD5于服务器MD5一致 本地MD5与服务器MD5不一致 热更新结束 热更新结束 加载对应资源,判断缓冲区是否有对应资源 如果缓冲区有对应资源,加载该资源 如果缓冲区没有对应资源,加载本地库中的资源 启动游戏 热更新 验证游戏版本 进行热更新阶段 进入游戏 验证 跳过 下载资源到缓冲区 加载资源中 进入游戏大厅 问题 如果将热更新分为强更和弱更(静默更新),以上的更新策略将会不支持静默更新。 新策略 在下载资源到缓冲区后添加一步是否同步文件。如果直接同步文件则为强更,如果不直接同步文件则为静默更新。在下一次进入游戏的时候判断是否有文件未同步–先同步再检查热更新。 开始 拉取游戏版本文件 本地服务器版本<服务器拉取的版本 本地游戏版本>=服务器拉取的版本 拉取服务器的MD5资源列表 本地MD5于服务器MD5一致 本地MD5与服务器MD5不一致,并且缓冲区有对应资源 本地MD5与服务器MD5不一致,并且缓冲区没有对应资源 需要同步文件--强更 不需要同步文件--静默热更,开始游戏 同步文件结束 加载对应资源,判断热更目录是否有对应资源 如果热更目录有对应资源,加载该资源 如果热更目录没有对应资源,加载本地库中的资源 启动游戏 热更新 验证游戏版本 进行热更新阶段 进入游戏 对比MD5值 同步文件 下载资源到缓冲区 加载资源中 进入游戏大厅 github地址: