HarmonyOS napi callback是否会失效或被提前销毁

用cpp写的消息通道,在ts 设置回调

cli.initEnv((msg: string) => { 
  hilog.info(0x0000, 'testTag', 'callback=%{public}s', msg); 
})

在cpp 层通过 napi_ref 保存回调函数

由于cpp 程序在线程中存在,需跟随应用生命周期,保存的回调函数是否可能会被销毁掉?

HarmonyOS
2024-09-12 09:38:07
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
FengTianYa

1.napi_ref由开发者自行管理,需要手动delete

2.napi的使用标准:https://nodejs.org/docs/latest-v8.x/api/n-api.html

3.提供相关napi的优秀实践,以供参考:https://gitee.com/openharmony-sig/ohos_ijkplayer

4.关于ets与cpp解耦做法:将 type 文件转移至 ets 中,修改模块级 oh-package.json5 依赖路径 file:./src/main/cpp/types/libhello -> file:./src/main/ets/types/libhello 即可

5.HarmonyOS import ‘*.so’ 相当于Java中的system.load()he System.loadLibray()

分享
微博
QQ
微信
回复
2024-09-12 16:37:33
相关问题
worker不主动销毁造成内存泄露吗
2044浏览 • 0回复 待解决
aki是否支持C++虚函数和callback
865浏览 • 1回复 待解决
HarmonyOS 组件是否销毁回调方法
600浏览 • 1回复 待解决
是否提供提前初始化webview的能力
2355浏览 • 1回复 待解决
HarmonyOS 单行Text是否截断隐藏?
282浏览 • 1回复 待解决
HarmonyOS webview提前创建复用
169浏览 • 1回复 待解决
HarmonyOS auto失效
33浏览 • 1回复 待解决
callback无法成功更新UI
1959浏览 • 1回复 待解决
HarmonyOS动态导入是否重复导入?
343浏览 • 1回复 待解决
使用js如何使用callback
340浏览 • 1回复 待解决
Js如何定义callback函数
2165浏览 • 1回复 待解决
如何判断har是否混淆了?
774浏览 • 1回复 待解决
HarmonyOS notifyDataAdd失效问题
373浏览 • 0回复 待解决