creator微信内置浏览器缓存问题

creator 就是坑?为啥微信浏览器加载各种问题 总是加载不了 我用的就是简单的loadresArray

Loader.loadResArray(LoaderRecycle.never, urlArr,
(completedCount: number, totalCount: number, item: any) => {
console.log(completedCount / totalCount)
console.log(item)
if (totalCount != 0) {
var percent = completedCount / totalCount
if (percent&&!isNaN(percent))
sceneLoader.setLoadingPercent(percent)
}
},
(error: Error, resource: any[]) => {
if(error){
console.error(error)
}
this._preloadScene(sceneName, launchedCallback)
}
)

感谢反馈,希望能详细描述一下具体的问题?

我们使用的版本是1.9.3


我是这样预加载资源的
1、部分iphone微信内置浏览器手机音效加载的问题:在部分iPhone手机上的微信浏览器上加载音效会加载不了,会一直卡在进度条,重新发布后第一次能进,第二次就不可以了,反复测试 确定是跟音效缓存有关系,取消音效预加载后正常。后来我们通过设置服务器的cache-control策略为no-store,也就是不缓存音效就都正常了。大部分iphone手机和所有android手机没有遇到类似问题,部分iphone手机这种情况是必出
2、部分iphone6手机启动加载卡住不动。今天测试在ipone6微信版本6.5.12上在启动时加载卡住就不动了,其他手机都是正常的,其他手机没遇到过启动加载就失败的情况,启动界面只是把cocos的logo换成了我们的,其他没做任何修改,就这一台iphone6手机不行,是必出的bug。因为是玩家测出来的,我们拿不到手机,无法监听网络,估计是setting.js加载不了还是咋滴,困惑中。

最后烦请引擎团队帮忙看下。
另外我发现音效预加载这里没判空是否会有问题?

详细情况已经发给你,非常感谢你们的付出和努力

好的,我们会尽快排查

不过你有尝试过判断是否为空的效果吗?

没 我们把音效缓存设置cachecontrol策略为nostore就没再遇到这个问题 但是也没去做非空判断 我怀疑是微信和微信浏览器这边沟通有问题 可能是微信会在一定时间后删掉缓存的音频(不是浏览器自己删掉的) 再次向浏览器发起下载请求时 因为采用的默认cachecontrol策略是etg 所以浏览器还是去缓存找对应的音频 这时就找不到了 。

你有尝试过用 md5 解决吗?如果没有的话,可以尝试一下

由于不太好重现这个问题能否发一个你们构建出来的发布包发给我们,好让我们 qa 组进行测试呢?

我们是有使用md5cache的 好的 我发一个构建包给你们 我怎么发了

我们也遇到同样的问题,百思不得其解!

我怎么发包给你们 发链接给你们可以么 328178973 如果方便可以加我qq

浏览器加载报错吗?
我之前遇到过,自己的服务器不支持中文,所以测试的时候没事儿,一上服务器就不行,后来懒得配置服务器,就让大家禁止用中文命名资源了。

我们没有使用中文命名资源 是缓存的问题

我们之前也遇到过我们测试机 有一些图片不见了 但是因为我看creator浏览器图片显示使用的是html标签 所以不会出错 只是图片不见 节点还在 当时是因为小部分图片不见了 没引起重视 测试重装了微信后正常了 现在想想可能跟第一个问题也有点关系

今天拿到客户的问题机器,客户是iphone6 版本8.1.3 不支持js回调()=>{}的写法,所在启动界面时卡住了。改成fuction(){}可以进入游戏了。但是遇到一个新问题,就是绑定的节点,在运行时丢失了,报typeerror错误,其他机器不会有这种情况。

好吧 之前说的绑定节点找不到的问题解决了 不要使用for in遍历数组 在低版本的ios系统里 浏览器js引擎为把数组当map来处理。creator需要改进的就是微信内置浏览器缓存问题,这个缓存问题的锅确确实实是引擎团队的。

这种问题经常会偶现,在微信上总是load不到图片。