cocos分包加载没有回调(安卓手机偶现)

我将游戏内的声音文件分为子包,在进去对局前分包加载。

正常没有问题进去对局,然而有时候安卓手机会偶现 退出后进不去对局 , 看日志打印是 分包加载没有回调导致的。

贴出代码:

loadSubpackage: function (nameArr, succCallback, failCallback) {
try {
    let arr = [];
    for (let i = 0; i < nameArr.length; i++) {
        arr.push(nameArr[i]);
    }
    tyhappy.isDebug && tyhappy.LOGE("loadSubpackage arr=", arr);
    let name = arr[0];
    let targetVersion = "2.1.0";
    if (tyhappy.IsWechatPlatform() &&
        tyhappy.Util.compareVersion(tyhappy.SystemInfo.wxSystemInfo.SDKVersion, targetVersion) > 0 &&
        wx && wx.loadSubpackage) {
        //support
        tyhappy.LOGE("loadSubpackage  support!");
        tyhappy.NotificationCenter.trigger(tyhappy.EventType.EVENT_SHOW_LOADING_LAYER, {
            event: tyhappy.EventType.EVENT_SHOW_LOADING_LAYER
        });

        const loadTask = wx.loadSubpackage({
            name: name, // name 可以填 name 或者 root
            success: (res) => {
                // 分包加载成功后通过 success 回调
                tyhappy.isDebug && tyhappy.LOGE("loadSubpackage  success ====== res=", JSON.stringify(res));
                tyhappy.isDebug && tyhappy.LOGE("loadSubpackage  success ====== arr.length=", arr.length);

                if (arr.length == 1) {
                    tyhappy.NotificationCenter.trigger(tyhappy.EventType.EVENT_HIDE_LOADING_LAYER, {
                        event: tyhappy.EventType.EVENT_HIDE_LOADING_LAYER
                    });

                    if(succCallback){
                        succCallback();
                    }
                } else {
                    arr.splice(0, 1);
                    this.loadSubpackage(arr, succCallback, failCallback);
                }

            },
            fail: function (res) {
                // 分包加载失败通过 fail 回调
                tyhappy.isDebug && tyhappy.LOGE("loadSubpackage  fail ====== res=", JSON.stringify(res));

                tyhappy.NotificationCenter.trigger(tyhappy.EventType.EVENT_HIDE_LOADING_LAYER, {
                    event: tyhappy.EventType.EVENT_HIDE_LOADING_LAYER
                });

                failCallback && failCallback();
            }
        });

        loadTask.onProgressUpdate(res => {
            tyhappy.isDebug && tyhappy.LOGE('下载进度', res.progress);
            tyhappy.isDebug && tyhappy.LOGE('已经下载的数据长度', res.totalBytesWritten);
            tyhappy.isDebug && tyhappy.LOGE('预期需要下载的数据总长度', res.totalBytesExpectedToWrite);

            tyhappy.NotificationCenter.trigger(tyhappy.EventType.EVENT_UPDATE_LOADING_LAYER, {
                event: tyhappy.EventType.EVENT_UPDATE_LOADING_LAYER,
                progress: res.progress || 1
            });
        })
    } else {
        //not support
        tyhappy.LOGE("loadSubpackage not support!");
        if(succCallback){
            succCallback();
        }
    }
} catch (e) {
    tyhappy.LOGE("应用层出错====e=", JSON.stringify(e));
    failCallback && failCallback();
}

},

输出日志:
tyhappy.LOGE(“loadSubpackage support!”);
后面就没有了。

后面我以为是wx的接口导致的问题,改为了cocos的接口:
cc.loader.downloader.loadSubpackage(‘01_graphics’, function (err) {
if (err) {
return console.error(err);
}
console.log(‘load subpackage successfully.’);
});
还是会偶现一样的问题。

希望大大指点一下。@jare @官方团队

如果需要demo的话。我可能需要点时间。

wx.loadSubpackage 也没有失败回调吗?提供个demo和测试设备版本型号,我们这边复现后可以反馈给微信团队排查。

https://forum.cocos.org/t/topic/154620
这个问题能解决吗?
只是我有这个问题?