pomelo.js 中 String.fromCharCode.apply(null, array) 显示 Maximum call stack size exceeded

在测试cocos-html5程序时,安卓浏览器正常运行,开心

将程序放到ios的safari浏览器,登陆界面直接卡死,动都动不了,百思不得其解

之后又将包打包测试,依然失败

之后在苹果机上运行,显示pomelo.js 1203行,显示超出栈最大数量,pomelo.js是copy过来的,没有改动

对比程序真没发现什么问题,就在想这文件是不是有错,最后在高人那里找出,其实就是内存越界,改了下代码

return String.fromCharCode.apply(null, array);
替换
var res = '';
var chunk = 8 * 1024;
var i;
for (i = 0; i < array.length / chunk; i++) {
  res += String.fromCharCode.apply(null, array.slice(i * chunk, (i + 1) * chunk));
}
res += String.fromCharCode.apply(null, array.slice(i * chunk));
return res;

运行是成功了,但还是不清楚这里为什么会越界,毕竟安卓是ok的,有空测试下这两个连接数的长度

你可能感兴趣的:(pomelo.js 中 String.fromCharCode.apply(null, array) 显示 Maximum call stack size exceeded)