WangHao

Results 4 comments of WangHao

遇到了同样的问题,终于有队友了 @hlz9494 大佬解决了吗?

![image](https://github.com/taoweiji/quickjs-android/assets/23253887/6c90fab9-aaa9-49dd-8d67-67bad70d6831)

> 解决了 出错问题是底层quickjs释放jsValue变量的时候找不到这个 jsValue报了空指针 原因是因为 **quickJs是线程不安全** 的,特别是在创建jsValue的时候 比如说我在quickJs里面开启了一个新的线程处理一些事情,之前我直接在新线程里面创建jsvalue并回调回来,可能几次没有事情,但是执行次数多了就会报这个问题。 后面我改成在新线程里面回调回默认的quickJs-1的线程就没有出现这个问题了 多谢大佬解答,我使用的时候都是在主线程的,没有使用新的线程,下面是我的用法: ~~~java mQuickJS = QuickJS.createRuntimeWithEventQueue(); mJsContext = mQuickJS.createContext(); mJsContext.registerJavaMethod() JSObject jsObject = mJsContext.executeObjectScript(javaScript, null); if (jsObject instanceof JSFunction) { JSFunction jsFunction...

~~~java mJsContext.registerJavaMethod(new JavaVoidCallback() { @Override public void invoke(JSObject receiver, JSArray args) { }); } }, "exit"); ~~~ 另外测了下,这里的 invoke 方法是在 quickJs-1 线程,我把这里的内容抛回主线程还是有这个问题