在Native侧释放ArkTS对象的方法

在Native侧释放ArkTS对象的方法

HarmonyOS
2024-07-15 11:07:39
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
mzshj

使用napi_wrap接口时,如果最后一个参数result传递不为nullptr,则开发者需要在适当的时机调用napi_remove_wrap函数来主动删除创建的napi_ref对象。

用法1:当napi_wrap不需要接收创建的napi_ref时,可将最后一个参数传递为nullptr。这样创建的napi_ref是弱引用,由系统管理,不需要用户手动释放。

napi_wrap(env, jsobject, nativeObject, cb, nullptr, nullptr);

用法2:当napi_wrap需要接收创建的napi_ref时,将最后一个参数设为非nullptr。返回的napi_ref是强引用,需要开发者手动释放,否则可能导致内存泄漏。

napi_ref result;
napi_wrap(env, jsobject, nativeObject, cb, nullptr, &result);
// 当jsobject和result后续不再使用时,及时调用napi_remove_wrap释放result
napi_value result1;
napi_remove_wrap(env, jsobject, result1);
分享
微博
QQ
微信
回复
2024-07-15 19:36:50
相关问题
如何在Native释放ArkTS对象
2348浏览 • 1回复 待解决
Native调用ArkTS全局普通方法
919浏览 • 1回复 待解决
arktshashmap转为native
961浏览 • 1回复 待解决
如何在Native构建一个ArkTS对象
2132浏览 • 1回复 待解决
native如何使用类静态方法
820浏览 • 1回复 待解决
Native调用ArkTS类函数
966浏览 • 1回复 待解决
native如何调用类静态方法
1126浏览 • 1回复 待解决
Native如何调ArkTS方法
2219浏览 • 1回复 待解决
ArkTSNative如何进行map数据交互
2246浏览 • 1回复 待解决
ArkTSNative分别如何动态加载SO库
2477浏览 • 1回复 待解决
Native进行跨模块加载
814浏览 • 1回复 待解决
HarmonyOS Native 实例化 ArkTS 对象
156浏览 • 1回复 待解决
ArkTs怎么传递对象或者类给Native
2360浏览 • 1回复 待解决
ArkTS层获取对象所有方法
1591浏览 • 1回复 待解决