requestAnimationFrame调用以及worker的onMessage问题
真机测试环境 小米8,系统为MIUI 11.0.4 如果在requestAnimationFrame的回调函数中如果没有执行绘图操作就返回(某些原因不需要重绘制屏幕上的内容) 系统就会持续不断的调用回调函数(无任何时间间隔) 期望的情况:回调函数的调用频率和回调函数执行内容无关 在主线程中接收worker发来的数据,其中的ArrayBuffer数据无法释放回收 worker中发送数据 var ab = new ArrayBuffer(1024 * 10 * 1024); var id = 0; var send = function () { var msg = {id: id++, ab: ab}; worker.postMessage(msg); setTimeout(send, 100); } send(); 主线程中接收 worker.onMessage(function (e) { console.log("main thread rece " + e.id + " " + e.ab.byteLength); }); 接收一定次数之后(约超过1.5G的数据)
小游戏会因为内存不足而崩溃 期望的情况:数据不再使用后可以正确的被垃圾回收