cocos2d-js资源加载bug

当资源加载很多的时候(498个资源),win32和手机上会出现Stack overflow,
之前数量少的时候还是好的!
搜了下,大概是-x代码递归深度的问题导致的。
求帮忙分析原因。。。。
控制台log:
frameworks/runtime-src/proj.win32/Debug.win32/script/jsb_boot.js:482:Error: Stack overflow,

这个是cc.log 打印输出的一个BUG 你可以不要打印东西就可以了
如果一定要打印就要修复下这个对象互相引用导致的BUG

你可以用我的这个打印方法代替cc.log

Utils.debug = true;

Utils.log = function (info, tag, type) {


    if (Utils.debug == false) return;
 


    if (info == null) info == "null";
    var infoType = typeof (info);
    if (infoType == "object" || infoType == "array") {



        var seen = [];
        info = JSON.stringify(info, function (key, val) {
            if (typeof val == "object") {
                if (seen.indexOf(val) >= 0) return;
                seen.push(val)
            }
            return val;
        });

    } else if (infoType == "number") {
        info = info + "";
    } else if (infoType == "boolean") {
        info = info + "";
    } else if (infoType == "function") {
        info = info.toString();
    }


     console.log(info+""); //这个输出正式版也能看到打印 根据需要切换使用 不需要就用cc.log
    //cc.log(info);
};

多谢,
不过我也没用cc.log,Stack overflow是系统打印的bug

现在发现了一些错误规律,如果加载的数组中连续json文件太多,就会出现Stack overflow。
我将数组后面的png文件分散插入前面的json文件中,就不报错了。。

目前基本上可以确定,手机上,cocos2d-js底层加载资源代码有问题,连续多个json文件加载会报错。我这边超过180个肯定报错。

做个标记!

js_boot.js的482行是什么代码?(我们版本不一样 我不确定你跟我的是不是一个版本)
我觉得这个跟数量的多少应该没关系吧。。。

这个方法出的问题:482行:是else if (url.match(jsb.urlRegExp)) {

loadImg: function (url, option, cb){
    var l = arguments.length;
    if(l == 2) cb = option;

    var cachedTex = cc.textureCache.getTextureForKey(url);
    if (cachedTex) {
        cb && cb(null, cachedTex);
    }
    else if (url.match(jsb.urlRegExp)) {
        jsb.loadRemoteImg(url, function(succeed, tex) {
            if (succeed) {
                cb && cb(null, tex);
            }
            else {
                cb && cb("Load image failed");
            }
        });
    }
    else {
        cc.textureCache._addImageAsync(url, function (tex){
            if (tex instanceof cc.Texture2D)
                cb && cb(null, tex);
            else cb && cb("Load image failed");
        });
    }
},

我猜想是不是官方js代码,同类型连续文件加载的时候递归调用,递归的层次太深了崩溃。

有可能 我以前也遇到过这个地方出问题。。 后来不记得怎么处理的了。。。

我目前解决方案是:把那个大数组分成多个小数组单独加载,每个数组不超过100个文件。现在已经ok了