这个闪退是执行纯JS运算时发生的,应该是属于JS引擎的BUG。重现步骤如下:
- 下载MUMU模拟器,其他很多模拟器也会。
- 用附件的Demo工程编译一个安卓包,安装到MUMU,然后执行程序,点【崩溃测试】按钮,程序真的闪退了。
NewProject.zip (579.3 KB)
执行代码就是下面几句:
var key = "hello"
for (var i = 0; i < 10000; ++i) {
key.charCodeAt(i % key.length);
}
我发现这个问题是因为下周就要提供测试了,在真机上测试没有问题,但安卓有很多玩家都在模拟器下玩,所以就用模拟器测试,没想模拟器运行起来各种闪退。我把上面的代码删除掉了,还会在其他地方闪退。我只能归结为JS引擎有BUG。另外以前的1.5x在模拟器下是可以正常跑的。
我发现还有一个问题是用jsbcc编译字节码时,如果编译很多JS脚本,JSBCC也会有机率崩溃,这个之前已经和引擎人员反馈了,现在还是会有机率崩溃。所以目前这个SM52的版本会不会是一个不大很稳定的版本呢。
我上mozilla官网看,52是一个Future release呀,45才是Current release,会不会引擎版本使用得太超前了,用到一个不太稳定的版本呢?
@panda,这个问题请一定帮我分析一下,下周要给渠道内测了。。。
