使用UnityWebRequestAssetBundle.GetAssetBundle(url)不要带hash,如果带了的话,Unity会进行磁盘存储,webgl模式下磁盘就是用js arraybuffer模拟的,https://github.com/wechat-miniprogram/minigame-unity-webgl-transform/blob/main/Design/UsingAssetBundle.md
小游戏bundle下载后js堆内存溢出小游戏在后台空闲时会使用UnityWebRequestAssetBundle.GetAssetBundle(url, Hash128.Compute(url))接口下载bundle,下载完成后会ab.Unload(true)掉,并关闭这条链接www.Dispose(),通过Unity Profile分析Unity的堆内存没有变化,但发现JS的堆内存不断在增加,通过抓取几次堆内存比较发现,FSNode这个对象的实例一直增加没有被回收过,而FSNode好像又是保存bundle文件内容的,发现它一直存在在UnityCache中,不知道如何处理这个问题。 [图片] [图片]
2023-02-07我测试过只改变版本号只有重新发布代码才会更新缓存,如果不想重新发布代码只有缓存路径StreamingAssets/textures_8d265a9dfd6cb7669cdb8b726f0afb1e中的hash值发生改变后才会不走缓存重新拉取最新文件,拉取下来后会自动对比本地的hash后缀不同而删除掉旧的缓存
U3D转微信小游戏,资源缓存策略问题https://gitee.com/wechat-minigame/minigame-unity-webgl-transform/blob/main/Design/FileCache.md 这是官方的资源缓存策略,想请问下: 我们的资源cdn地址是带版本号和后缀的的,如:https://xx.xx.xx/v1.0(每次版本升级会变)/StreamingAssets/textures_8d265a9dfd6cb7669cdb8b726f0afb1e.u3d 这种情况,难道还得把版本号加到CDN地址??加的后缀对缓存策略有无影响?? 请问大家是如何处理的??
2022-12-30我来更新一下这个问题的解决办法: 修改官方SDK,给OnKeyboardInputCallbackResult添加一个errMsg字段 [图片]
安卓输入法适配报错使用官方的输入法适配代码,结合项目稍微修改了一下,通过真机预览方式打开小游戏,在输入时(输入键盘能正常被调出来,并进行输入,但结束后输入框没有结果)一直报错:The type WeChatWASM.OnKeyboardInputCallbackResult doesn't have the property 'errMsg',但代码中确实没有调用errMsg,很奇怪为什么有这个报错,而上述问题IOS却没有,能正常使用且没有这个报错。 [图片] [图片] [图片]
2022-12-13