Skip to main content

· 5 min read
xasset

今天,我们很高兴地宣布2023.1预览版正式可用。在这个版本中我们确信,过去,资产版本更新资产热重载这个比较难搞的问题,这次有了更好的解决方案。另外,我们还针对启动流程和更新大小做了一些优化,以下是这个版本的发布日志。

  • 版本:2023.1预览版
  • 日期:2023.4.24
  • 范围:专业版-2022.2仓库
  • 分支:2023.1-prev

新功能

异步重载请求

异步重载请求可以帮助用户更轻松地完成已经加载的旧资产更新后自动替换为新资产的过程。在2023.1预览版中,把更新的资产下载到本地后,可以使用 Assets.ReloadAsync 对已经加载的旧资产进行热重载,重载完成后,场景以外的旧资产会自动替换为更新后的资产。场景相对比较特殊,需要用户重新调用加载,而场景的依赖文件会在加载前自动替换成新的版本。

// CheckForUpdates.cs:73
if (_downloadAsync.result == DownloadRequestBase.Result.Success)
{
// 清理历史文件
yield return Clearing();
// 执行异步重载请求
var reload = Assets.ReloadAsync(versions);
while (!reload.isDone)
{
var msg = $"{Constants.Text.Loading} {reload.progress * 100:f2}%";
LoadingScreen.Instance.SetProgress(msg, reload.progress);
yield return null;
}
UpdateVersion();
}

改进

更新流程优化

更新流程优化主要解决的是减少不必要的更新数据下载和减少不必要的更新检查过程。在2023.1预览版中,当安装包的资产分包模式是包含所有资产的时候。如果服务器的资产版本没有发生变化,可以跳过获取版本文件和获取更新大小的过程。实测的数据显示,10000+数量的 Bundle 文件,加上这个优化后,启动时间可以缩短 5s 左右,自然可以创造更流畅的用户体验。

清单大小优化

清单大小优化主要改进的是更新清单文件所需要的时间和安装包的大小。在2023.1预览版中,实测数据显示,10000+数量的 Bundle 文件的项目中,清单文件的大小可以从 3.5mb 优化到 800kb 以内。这意味着,网速是 512kb/s 的时候,原本需要 6s+ 才能下载完成的清单文件,只需要不到 2s 就能下载完成。原本修改一个文件,最小更新大小需要 3.5mb+ 可以控制到 < 1mb。

初始化流程优化

初始化流程优化主要改进的是 AAB 包的配置文件加载和 Install Time 的 Android Asset Pack 加载过程。由于平台限制,Android Asset Pack 不支持同步加载,这个时候,当 Install Time 的 Android Asset Pack 还没加载好前,直接同步加载其中的一个资产,必然会出现卡死的情况,所以,在2023.1预览版中,优化成在初始化时,就把 Install Time 的 Android Asset Pack 加载好。

配置参数优化

配置参数优化主要改进的是把分散在各个组件的参数集中整理到 Settings 文件中。我们认为,修改参数的入口越少,越好上手,所以在2023.1预览版中,我们加了这个优化。

其它

异步重载请求功能已经同步到开源版,个人长期版预计在 6 月之前有一次大更新。感谢广大新老用户的支持和反馈!我们将继续努力,为大家提供更好的产品和服务。

xasset 创作团队