提交 9ff74917 编写于 作者: Z zhangjunkunn

docs: 文档结构调整

上级 219cdd37
......@@ -65,21 +65,4 @@ AssetBundle和Addressables资源目录。
### 资源缓存规则
- 首资源包自动缓存
- wasm代码自动缓存
- AB和AA特定情况下缓存
需要注意的是AB和AA的缓存规则
#### AB和AA缓存
如果请求URL包含StreamingAssets,则插件判定为是在下载bundle文件,会自动进行缓存提升二次启动速度。
所以需要自动缓存的文件,可放到StreamingAssets目录下。
但请注意以下几点:
1. 文件名需要带上hash [BuildAssetBundleOptions.AppendHashToAssetBundleName](https://docs.unity3d.com/ScriptReference/BuildAssetBundleOptions.AppendHashToAssetBundleName.html),以便清理掉该文件的旧缓存。默认32位长度,如果游戏可通过导出选项中`Bundle名中Hash长度`来自定义。比如游戏自己计算了crc,可将`Bundle名中Hash长度`设置为crc长度。
2. 配置到不自动缓存文件类型中的文件,不会自动缓存,默认值是json,比如addressable打包后生成StreamingAssets/aa/WebGL/catalog.json,这个文件不会自动缓存。
### 资源淘汰规则
由于缓存目录最大不可超过200M,在下载资源包、下载AB包时,若剩余空间不足以缓存,会进行缓存淘汰。目前规则比较简单,如下:
1. 如果所需空间过大,超过最大限制:下载完成后不缓存文件,也不执行清理逻辑,直接返回下载内容。
2. 清理部分文件可以缓存新文件:按最近使用时间从前往后排序清理,直到清理出所需空间。
3. 如果去除hash后是同名文件(相同路径下同名):清理掉旧的资源。
\ No newline at end of file
请阅读[资源缓存](FileCache.md)
\ No newline at end of file
......@@ -71,15 +71,23 @@ iOS端小游戏高性能模式目前为Beta版本,适用于遇到iOS环境运
```
Q: iOS报错提示未开启gzip/br压缩
<img src='../image/contentencoding_error.png' width="500">
A:可通过微信开发者工具查看Content-Encoding是否为gzip或br
如果有正确压缩,可忽略这个错误。
问题原因:由于跨域获取不到Content-Encoding头
解决办法:增加跨域头部`"Access-Control-Expose-Headers": "Content-Length, Content-Encoding",`
<img src="../image/devtools_network.png" width="500">
Q: 资源下载提示`isTrusted`
<img src='../image/cors_istrusted.png' width='500'>
A: 多半由于跨域问题导致,可通过开发者工具查看对应资源的Response Header是否有跨域头
3. 卡在启动封面无法启动
......
......@@ -44,6 +44,7 @@
- [使用 Addressable 进行资源按需加载](Design/UsingAddressable.md)
- [使用 AssetBundle 进行资源按需加载](Design/UsingAssetBundle.md)
- [资源服务器部署注意事项](Design/DataCDN.md)
- [资源缓存](Design/FileCache.md)
- [使用预下载功能](Design/UsingPreload.md)
- [首场景启动优化](Design/FirstSceneOptimization.md)
- [使用代码分包工具](Design/WasmSplit.md)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册