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;
是否jsvm在设计上一个应用只能启动一个jscore环境,如果想要能同时存在多个该如何做?
        HarmonyOS
      
        赞
        
 收藏 0
 回答 1
 
        待解决
        
相关问题
 同一个应用中,多个线程或者多个进程访问同一个关系数据库,需要考虑并发的问题吗? 
1467浏览  • 1回复 待解决
HarmonyOS 如何在多个taskpool中操作同一个对象? 
1288浏览  • 1回复 待解决
如何指定多个异步任务在同一个辅助线程内执行 
1751浏览  • 1回复 待解决
HarmonyOS 在同一个UIAbility下,如何获取多个 page 页面的页面名称? 
1143浏览  • 1回复 待解决
同一个应用多个ability的情况下,后台ability页面跳转 
2436浏览  • 1回复 待解决
HarmonyOS  创建元服务是否需要新建一个工程?可以在同一个项目里构建元服务吗? 
1221浏览  • 1回复 待解决
同一主题的HarmonyOS应用 如何使用同一个证书上架 
1074浏览  • 1回复 待解决
Openharmony中同一个hap可以使用两个ExtensionAbility吗? 
4264浏览  • 1回复 待解决
同一个开发账号可以针对不同的开发PC申请多个模拟器么? 
1582浏览  • 1回复 待解决
HarmonyOS 可以在build中复用同一个组件对象(而不是重新创建) 
926浏览  • 1回复 待解决
HarmonyOS同一份代码,同一个版本的编译器,同一个手机,不同的电脑。代码运行崩溃 
2096浏览  • 2回复 待解决
同一个正则同一个文本 函数exec为什么经常出现异常 
2772浏览  • 1回复 待解决
HarmonyOS  依赖同一个组件,不同版本,编译后,出现引用多份同一个组件的情况 
1898浏览  • 1回复 待解决
元服务如何与HarmonyOS应用使用同一个证书 
955浏览  • 1回复 待解决
#鸿蒙学习大百科#同一设备的多个分布式数据对象可以加入同一个sessionId吗? 
999浏览  • 1回复 待解决
同一个HSP中,router.pushUrl中的url问题 
1692浏览  • 1回复 待解决
一个应用内的所有ArkWeb是共用同一个render进程吗? 
1916浏览  • 1回复 待解决
HarmonyOS  多module同时依赖同一个har 
2228浏览  • 1回复 待解决
HarmonyOS 多个List 是否可以共享一个scroller 
1063浏览  • 1回复 待解决
若应用有多个UIAbility,为何桌面点击应用后显示的永远是同一个UIAbility 
2632浏览  • 1回复 待解决
HarmonyOS 多module打包进同一个har中的问题 
1245浏览  • 1回复 待解决
HarmonyOS 如何实现同一个应用不同进程内存共享 
1199浏览  • 1回复 待解决
HarmonyOS 如何设置同一个域名下不同协议Cookie可以共享 
925浏览  • 1回复 待解决
EntryAbility中的context和getContext(this)是同一个对象吗 
2776浏览  • 1回复 待解决
跨module 中同一个entry下LocalStorage 未同步状态 
2469浏览  • 1回复 待解决





















使用JSVM-API接口创建多个引擎执行JS代码并销毁参考下:
1、提供创建JSVM运行环境的对外接口并返回对应唯一ID。
2、对外提供执行JS代码接口,通过coreID在对应的JSVN环境中执行JS代码。
3、对外提供释放JSVM环境接口,通过envId释放对应环境。
示例参考链接:https://gitee.com/harmonyos_samples/ExecutingJSWithJSVM