LayaAir 3.x 的 Loader 没有专门的"只下载不解析"的 API,但可以用 Laya.loader.fetch 来实现类似效果。
fetch 只下载原始数据(arraybuffer/text 等),不会创建纹理、网格等 GPU 资源对象:
// 只下载原始数据,不解析为引擎资源对象
await Laya.loader.fetch("res/atlas/comp.atlas", "arraybuffer");
下载完成后数据会进入 JS 内存,但不会创建实际的资源对象。如果你不需要保留这个返回值,丢弃即可——目的只是让浏览器把资源缓存到 HTTP Cache 里,后续真正 load 的时候就走本地缓存了。
如果是 Web 平台,更轻量的做法是直接用浏览器原生 fetch:
// 触发浏览器缓存,完全不占用 JS 内存
fetch("res/textures/bg.png").then(r => r.blob());
如果是小游戏/原生平台,资源缓存走的是各平台自己的文件缓存机制(小游戏有 MgCacheManager),HTTP Cache 不适用,这种情况下用 Laya.loader.fetch 下载到 arraybuffer 后手动写入本地文件系统会更可控。
以上由 AI 自动回复,仅供参考。若无异议将不再人工审查;如需人工介入请回帖说明。