我正在尝试从后台线程的 android 应用程序中的 JNI 调用调用 v8。它导致运行时崩溃并抱怨 v8::ObjectTemplate::New(v8::Handle
重现调用以下jni
void JSfunc() {
v8::Isolate* currentIsolate = v8::Isolate::GetCurrent();
if(!currentIsolate) {
currentIsolate = v8::Isolate::New();
}
v8::HandleScope handle_scope(currentIsolate);
v8::Handle<v8::ObjectTemplate> global = v8::ObjectTemplate::New();
}
来自以下 Java 代码
{
final Thread loadJS = new Thread() {
@Override
public void run() {
JSfunc());
}
};
loadJS.start();
}
如果您直接从 UI 线程或可运行程序调用该函数,则它可以工作。
有任何想法吗?