HarmonyOS NDK接口jsvm是否可以在同一个应用中启动多个
初始化代码如下,发现这样初始化jsvm后全局只能初始化一遍,去掉去重的代码就是VM_INIT判断后运行,尝试多次初始化进程似乎会陷入无限循环中,直接卡死。
if (!VM_INIT) {
// JSVM only need init once
JSVM_InitOptions initOptions;
memset(&initOptions, 0, sizeof(initOptions));
// initOptions.externalReferences = externals;
OH_JSVM_Init(&initOptions);
PrintVmInfo();
VM_INIT = true;
}
// 创建虚拟机实例
OH_JSVM_CreateVM(nullptr, &vm);
OH_JSVM_OpenVMScope(vm, &vmScope);
// 创建js运行环境上下文
JSVM_PropertyDescriptor descriptor[] = {
{"setTimeout", NULL, &set_timeout_cb, NULL, NULL, NULL, JSVM_DEFAULT},
{"clearTimeout", NULL, &clear_timeout_cb, NULL, NULL, NULL, JSVM_DEFAULT},
{"setInterval", NULL, &set_interval_cb, NULL, NULL, NULL, JSVM_DEFAULT},
{"clearInterval", NULL, &clear_interval_cb, NULL, NULL, NULL, JSVM_DEFAULT},
};
OH_JSVM_CreateEnv(vm, sizeof(descriptor) / sizeof(descriptor[0]), descriptor, &jsvm_env);
return jsvm_env;
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
是否jsvm在设计上一个应用只能启动一个jscore环境,如果想要能同时存在多个该如何做?
HarmonyOS
赞
收藏 0
回答 1
相关问题
同一个应用中,多个线程或者多个进程访问同一个关系数据库,需要考虑并发的问题吗?
949浏览 • 1回复 待解决
HarmonyOS 如何在多个taskpool中操作同一个对象?
830浏览 • 1回复 待解决
如何指定多个异步任务在同一个辅助线程内执行
1407浏览 • 0回复 待解决
HarmonyOS 在同一个UIAbility下,如何获取多个 page 页面的页面名称?
577浏览 • 1回复 待解决
同一个应用多个ability的情况下,后台ability页面跳转
1881浏览 • 1回复 待解决
HarmonyOS 创建元服务是否需要新建一个工程?可以在同一个项目里构建元服务吗?
810浏览 • 1回复 待解决
同一主题的HarmonyOS应用 如何使用同一个证书上架
710浏览 • 1回复 待解决
Openharmony中同一个hap可以使用两个ExtensionAbility吗?
3464浏览 • 1回复 待解决
HarmonyOS 可以在build中复用同一个组件对象(而不是重新创建)
586浏览 • 1回复 待解决
同一个开发账号可以针对不同的开发PC申请多个模拟器么?
1122浏览 • 1回复 待解决
同一个正则同一个文本 函数exec为什么经常出现异常
2354浏览 • 1回复 待解决
HarmonyOS同一份代码,同一个版本的编译器,同一个手机,不同的电脑。代码运行崩溃
1318浏览 • 2回复 待解决
元服务如何与HarmonyOS应用使用同一个证书
501浏览 • 1回复 待解决
HarmonyOS 依赖同一个组件,不同版本,编译后,出现引用多份同一个组件的情况
1405浏览 • 1回复 待解决
#鸿蒙学习大百科#同一设备的多个分布式数据对象可以加入同一个sessionId吗?
703浏览 • 1回复 待解决
一个应用内的所有ArkWeb是共用同一个render进程吗?
1564浏览 • 1回复 待解决
同一个HSP中,router.pushUrl中的url问题
1174浏览 • 1回复 待解决
HarmonyOS 多module同时依赖同一个har
1664浏览 • 1回复 待解决
HarmonyOS 多module打包进同一个har中的问题
881浏览 • 1回复 待解决
若应用有多个UIAbility,为何桌面点击应用后显示的永远是同一个UIAbility
2177浏览 • 1回复 待解决
HarmonyOS 多个List 是否可以共享一个scroller
634浏览 • 1回复 待解决
HarmonyOS 如何实现同一个应用不同进程内存共享
824浏览 • 1回复 待解决
HarmonyOS 如何设置同一个域名下不同协议Cookie可以共享
517浏览 • 1回复 待解决
跨module 中同一个entry下LocalStorage 未同步状态
2163浏览 • 1回复 待解决
EntryAbility中的context和getContext(this)是同一个对象吗
2275浏览 • 1回复 待解决
使用JSVM-API接口创建多个引擎执行JS代码并销毁参考下:
1、提供创建JSVM运行环境的对外接口并返回对应唯一ID。
2、对外提供执行JS代码接口,通过coreID在对应的JSVN环境中执行JS代码。
3、对外提供释放JSVM环境接口,通过envId释放对应环境。
示例参考链接:https://gitee.com/harmonyos_samples/ExecutingJSWithJSVM