HarmonyOS 关于Native与ArkTS对象绑定功能,析构方法没有触发
Destructor日志没有打印,ts要使用什么特殊函数才能释放对象吗?咨询场景描述:对象绑定 的 调用如下:
assert(napi_wrap(env, jsThis, reinterpret_cast<void *>(obj), BaseDetector::Destructor,
nullptr, // finalize_hint
&obj->m_detector_wrapper_) == napi_ok);
Destructor的实现如下:
void BaseDetector::Destructor(napi_env env,
void* nativeObject,
[[maybe_unused]] void* finalize_hint)
{
OH_LOG_INFO(LOG_APP, "BaseDetector::Destructor called");
reinterpret_cast<BaseDetector *>(nativeObject)->~BaseDetector();
}
ts代码如下,detector没有释放:
getContext(this).resourceManager.getRawFileContent('mnn/cent_move_160.mnn', (_err, value) => {
let detector:CentDetector = new CentDetector(value.buffer as ArrayBuffer);
});
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
ArkTS的class有析构函数吗?
1410浏览 • 1回复 待解决
HarmonyOS Class能否提供一个析构函数或者析构回调
1009浏览 • 1回复 待解决
HarmonyOS Native对象与ArkTS对象绑定时,release版本报错,debug版本正常
923浏览 • 1回复 待解决
ArkTS的对象数据与Native的对象数据如何绑定,相互持有对象数据时内存如何管理
3034浏览 • 1回复 待解决
ArkTS是否有析构函数,查看某一个对象销毁可以在什么时间点
1474浏览 • 1回复 待解决
在Native侧释放ArkTS对象的方法
1687浏览 • 1回复 待解决
HarmonyOS class有构造函数constructor,那么有析构函数吗?
1300浏览 • 1回复 待解决
ArkTS对象绑定的C++对象如何回收?
1922浏览 • 1回复 待解决
HarmonyOS Native 实例化 ArkTS 对象
1358浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙中通过napi_wrap绑定ArkTS对象与C++对象?
1266浏览 • 1回复 待解决
华为支付配置过程中,商户号没有与appid绑定的功能入口
1325浏览 • 1回复 待解决
如何在Native侧释放ArkTS对象
3332浏览 • 1回复 待解决
HarmonyOS 关于native aki库的功能咨询
1034浏览 • 1回复 待解决
Native如何调ArkTS的方法
3363浏览 • 1回复 待解决
ArkTs怎么传递对象或者类给Native
3990浏览 • 1回复 待解决
HarmonyOS 关于Canvas与CanvasRenderingContext2D对象使用
981浏览 • 1回复 待解决
HarmonyOS native怎样调用ArkTS自定义方法
1160浏览 • 1回复 待解决
如何在Native侧构建一个ArkTS对象
3370浏览 • 1回复 待解决
class没有赋值还是触发ArkTS checked的警告
1081浏览 • 1回复 待解决
ArkTS层获取对象的所有方法
3202浏览 • 1回复 待解决
HarmonyOS ArkTS与H5交互方法
1226浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何为鸿蒙中的ArkTS对象绑定原生信息?
1061浏览 • 1回复 待解决
HarmonyOS关于JSON 转换后对象的方法无法使用问题
2036浏览 • 1回复 待解决
在Native侧调用ArkTS的全局普通方法
2102浏览 • 1回复 待解决
对象绑定参考下这个:
https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/napi/use-napi-object-wrap.md
说明:文件名和模块名用自己的就可以,把相关的代码参考下即可。
ts要使用什么特殊函数才能释放对象?答复:ArkTS无法直接回收c对象,可以在ArkTS侧业务完成后,通过api给c侧信号,在c++侧释放对象。
对于异步任务,须看内部函数是否存在异步任务,无异步则不需要。
// 如有异步转同步需求,可使用std::promise。