请列举一些重要的JSVM - API接口及其功能(如引擎实例和上下文环境管理、代码编译和执行等方面)?

阅读 486
1 个回答
  • 引擎实例和上下文环境管理:

    • OH_JSVM_Init:初始化JavaScript引擎实例,通常在应用中只需初始化一次。
    • OH_JSVM_CreateVM:创建JavaScript引擎实例。
    • OH_JSVM_DestroyVM:销毁JavaScript引擎实例。
    • OH_JSVM_OpenVMScope:打开一个新的VM scope,保证引擎实例在scope范围内不被销毁。
    • OH_JSVM_CloseVMScope:关闭VM scope。
    • OH_JSVM_CreateEnv:创建一个新的JS执行上下文环境,并注册指定的Native函数。
    • OH_JSVM_DestroyEnv:销毁一个JS执行上下文环境。
    • OH_JSVM_OpenEnvScope:打开一个新的Env scope,Env只能在scope范围内使用。
    • OH_JSVM_CloseEnvScope:关闭Env scope。
    • OH_JSVM_OpenHandleScope:打开一个Handle scope,确保scope范围内的JSVM_Value不被GC回收。
    • OH_JSVM_CloseHandleScope:关闭Handle scope。
    • 代码编译和执行:

      • OH_JSVM_CompileScript:编译JavaScript代码并返回绑定到当前环境的编译脚本。
      • OH_JSVM_CompileScriptWithOrigin:编译JavaScript代码并返回绑定到当前环境的编译脚本,同时传入源代码信息用于处理source map信息。
      • OH_JSVM_CompileScriptWithOptions:通用的编译接口,通过传入选项数组完成多种编译功能并支持扩展。
      • OH_JSVM_CreateCodeCache:为编译脚本创建code cache,可避免重复编译提升性能。
      • OH_JSVM_RunScript:执行编译脚本。

本文参与了 【 HarmonyOS NEXT 技术问答冲榜,等你来战!】欢迎正在阅读的你也加入。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进