- mkdirSync:fail ERR_OP_FAIL
- 当前 Bug 的表现(可附上截图) 请问下这个异常是什么原因导致的?我们通过微信后台的报错堆栈,看到的是微信小游戏内部的js报的错,所以一直无法解决问题。 错误堆栈:https://lib/WAGame.js:1: Error: mkdirSync:fail ERR_OP_FAIL Error: mkdirSync:fail ERR_OP_FAIL at mkdirSync (https://lib/WAGame.js:1:304967)at Object.e.(anonymous function) [as mkdirSync] (https://lib/WAGame.js:1:309976)at q.emit (https://lib/WAGame.js:1:251379)at EventHandler.A.default.EventHandler.(anonymous function) (https://lib/WAGame.js:1:404218) mkdirSync:fail ERR_OP_FAIL;at requestAnimationFrame callback function Error: mkdirSync:fail ERR_OP_FAIL at mkdirSync (https://lib/WAGame.js:1:315462)at Object.e.(anonymous function) [as mkdirSync] (https://lib/WAGame.js:1:320445) - 预期表现 - 复现路径 - 提供一个最简复现 Demo
2019-04-02 - InnerAudioContext音频播放bug
- 当前 Bug 的表现(可附上截图) 进行远程的mp3音频播放的时候,发现开发工具上表现正常,但是真机(测试机子为小米Note3)却不正常(通过开发者工具的预览功能调试)。 测试的音频为一个按钮的点击音效。 以下是开发者工具的控制台输出截图:[图片] 一次playCount对应一次canPlayCount,声音能在执行play()接口的时候马上播放。 以下是真机(小米Note3)的控制台输出截图(通过开发者工具的预览功能调试): [图片] 表现的效果为,playCount和canPlayCount次数并没有对上,调用play()的时候,声音并没有马上出来,而且,每次onWaiting有收到信息的时候,查看静态服务器后台输出,发现还会再次进行资源的请求。但每次都是用同一个innerAudioContext对象进行播放,按理来说,不应该重复加载资源才对。服务端输出内容如下:[图片] - 预期表现 资源加载成功之后,应该是调用了play()接口,就要马上有声音出来才对,而且不应该每次play都重复进行远程资源的加载。 - 复现路径 - 提供一个最简复现 Demo function testAudio(url, obj){ obj.canPlayCount = 0; obj.playCount = 0; var flag = false; var innerAudioContext = wx.createInnerAudioContext(); var startPlay = function(){ if(flag) return; flag = true; window.setInterval(function(){ console.log("playCount---->", ++obj.playCount, " ", mo.DATE.format(mo.DATE.date())); innerAudioContext.play(); }, 5000); }; // var startPlay2 = function(){ // console.log("playCount---->", ++obj.playCount, " ", mo.DATE.format(mo.DATE.date())); // innerAudioContext.play(); // }; innerAudioContext.onCanplay(function () { console.log("canPlayCount---->", ++obj.canPlayCount, " ", mo.DATE.format(mo.DATE.date())); startPlay(); }); innerAudioContext.onWaiting(function() { console.log('onWaiting---->', obj.playCount); }); innerAudioContext.onEnded(function (e) { console.log("onEnded") }); innerAudioContext.src = url; } 调用: testAudio(url, {});url为一个远程的mp3地址。
2019-03-02 - 调用wx.downloadFile,如果404了,会导致下载内容出错
- 当前 Bug 的表现(可附上截图) 通过 wx.downloadFileapi,下载一张不存在的图片 [图片] 这时候在控制台输出了:[图片] 然后这时候会导致在本地缓存生成了这个1e1307e1.jpg [图片]这时候的这种图片其实是损坏的,我改名为.txt之后,通过记事本打开查看内容:[图片] - 预期表现 通常,我们预想的结果,应该是,只要不是真正的成功状态,就不应该生成这个文件,否则,我们后续游戏的逻辑,都会因为判断缓存文件而直接去取缓存内容导致问题产生。 - 复现路径 - 提供一个最简复现 Demo
2018-10-18 - 关于wx.triggerGC导致游戏卡顿问题
我们有个重度的H5游戏迁移到了微信小游戏上,发现运行了一段时间,很容易出现黑屏崩溃的问题。查阅了一下文档,调用wx.triggerGC解决了问题。但是我们发现游戏在调用wx.triggerGC的时候,掉帧十分严重,甚至能卡顿1、2秒。但是我们的游戏在H5浏览器上面运行是非常流畅的,也很稳定。 我看了一下tritterGC的api说明,说“加快触发 JavaScriptCore Garbage Collection(垃圾回收),GC 时机是由 JavaScriptCore 来控制的,并不能保证调用后马上触发 GC。”。那么,我就很疑惑,为什么H5模式的时候,能够正常的被及时GC,但是微信小游戏下却不能,才导致了黑屏崩溃。 这个GC的问题,然后没有更好的解决方案吗?
2018-07-31