我想请我一下oc调用js代码这样写有问题吗,会不会存在奔溃的风险,目前我们线上都是这么写的
se::ScriptEngine::getInstance()->evalString();
我看到论坛上推荐这样写,这两种方式有啥区别吗,求大神解惑
我想请我一下oc调用js代码这样写有问题吗,会不会存在奔溃的风险,目前我们线上都是这么写的
se::ScriptEngine::getInstance()->evalString();
我看到论坛上推荐这样写,这两种方式有啥区别吗,求大神解惑
打个比方,如果要向地铁投诉一件事,
如果你在上海市区打上海地铁客服电话拨 64370000,
如果你在杭州市区打上海地铁客服电话拨 021-64370000
如果你在其他线程调用了cocos2dx的渲染线程,问题就大了
se::ScriptEngine::getInstance()->evalString();是立即执行这段js代码,如果这段代码里有对游戏里的ui操作的话,可能会造成渲染上的问题。
如果当前线程不是cocos2d的线程而是在其他线程的话,比如sdk的回调什么的,就把他加到计时器里,等到引擎下一次调用schduler的update时执行,相当于将这段js代码并入到了cocos2d的线程里执行
哥们你这比方我看的一脸懵逼
这个会导致app奔溃吗
主要还是看你调用的什么js代码,你要只是做了一个log,那就不会崩溃,如果你做了什么操作和主线程同时操作一块内存的话,那可能就会崩溃了,那可能就会崩溃了,因为js最终还是会通过jsbinding调用到C++代码的