2.4.3原生平台重启游戏的接口导致闪退

因为根据玩家反馈,我自己也遇到过,原生平台调用cc.game.restart();这个接口后,有概率闪退,于是我修改了构建后的代码,让游戏无限重启,发现重启几次后就会闪退,麻烦引擎组大佬们看看,下面是我修改的代码:

自顶自顶自顶

没有大佬瞅瞅吗

请问崩溃堆栈是怎么样,可以提供给我们参考下吗?


没什么具体的堆栈,用vs运行,崩溃的时候就显示这样

2.4.3模拟器重启也会出错。。win貌似兼容性不好的。

不是win32的问题,ios和安卓都会出现


这个是苹果的

这两个堆栈都没有什么可以参考的,你可以合并这个PR测试看看?
https://github.com/cocos-creator/cocos2d-x-lite/pull/2872

好的,我试试


合并以后运行出现的


还有这种

你这个是APP启动就崩溃了?

不是,是重启
image

方便给个demo吗?需要排查下对象的内存情况,才能确认原因。

没啥demo,就是创建一个新的空项目,然后构建Windows平台,修改main.js文件


然后用vs编译运行就可以复现了

你为什么不用 cc.game.restart() ? 而是这样的写法?换成 cc.game.restart 会吗?

这是有原因的
image
因为jsb-engine.js文件重写了cc.game.restart方法,cc.director.getScene().destroy();这句代码会报错,因为我是在入口main.js文件添加的测试代码,这个时候还没有场景运行,所以我就写了剩下的三句代码!

这是有原因的
image
因为jsb-engine.js文件重写了cc.game.restart方法,cc.director.getScene().destroy();这句代码会报错,因为我是在入口main.js文件添加的测试代码,这个时候还没有场景运行,所以我就写了剩下的三句代码!