HarmonyOS鸿蒙Next中Unity转快游戏-资源下载如何自动缓存

HarmonyOS鸿蒙Next中Unity转快游戏-资源下载如何自动缓存

Unity转快游戏-资源下载如何自动缓存

概念

Unity转快游戏后,为了缩小体积,我们打包的包体里只含代码,不含资源包。我们会将大量游戏资源放到远程CDN上,方便用到时再去请求。而请求下来的资源为了能在下一次访问时直接使用,从而开发了自动缓存的功能。

能力

该能力可以在web-adapter.js中可以看到:

this.cacheIdentifiers.add("StreamingAsserts");

它会将请求CDN地址中带有StreamingAsserts目录下的所有资源文档缓存到本地,在下次打开时可以直接使用。

额外

那么对于有些文件,并不想读缓存中的内容,而是每次实时请求资源,该如何做呢?我们需要在上面代码下继续添加

this.excludeCacheIdentifiers.add("xxx.json");

它会把原本属于StreamingAsserts目录下的xxx.json文件不缓存下来,剔除出去。这样,每次访问时都会从CDN上请求到最新的内容。

以上就是我们的全部内容,欢迎下期再见!


更多关于HarmonyOS鸿蒙Next中Unity转快游戏-资源下载如何自动缓存的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于HarmonyOS鸿蒙Next中Unity转快游戏-资源下载如何自动缓存的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,Unity转快游戏的资源下载自动缓存可以通过以下步骤实现:

  1. 使用Unity的Caching类:Unity提供了Caching类,可以自动管理资源的缓存。通过Caching.MarkAsUsed和Caching.ClearCache等方法,可以控制资源的缓存行为。

  2. 配置Unity的AssetBundle:将资源打包为AssetBundle,并在加载时使用AssetBundle.LoadFromFile或AssetBundle.LoadFromMemory方法,Unity会自动缓存这些资源。

  3. 使用HarmonyOS的缓存机制:HarmonyOS提供了本地存储和缓存机制,可以通过File和Preferences等API实现资源的持久化存储和自动缓存。

  4. 结合网络请求:使用Unity的UnityWebRequest类进行资源下载,并通过DownloadHandlerAssetBundle或DownloadHandlerTexture等处理下载的资源,系统会自动缓存这些资源。

通过这些方法,可以实现Unity转快游戏的资源自动缓存,提升用户体验和加载速度。

回到顶部