NAPI 通过 napi_wrap 创建的对象似乎没有被销毁
在 C++ 当中使用下面的方法包装了一个 C++ 的对象:
// 用法1:napi_wrap不需要接收创建的napi_ref,最后一个参数传递nullptr,创建的napi_ref是弱引用,由系统管理,不需要用户手动释放napi_wrap(env, jsobject, nativeObject, cb, nullptr, nullptr);
按照文档的说明,这个对象会在 GC 的时候自动销毁,并且通过调用 cb 来完成 C++ 对象的析构。
现在的问题是,发现 cb 没有被调用,导致 C++ 对象一直没有析构。
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
#鸿蒙通关秘籍#如何在鸿蒙中通过napi_wrap绑定ArkTS对象与C++对象?
32浏览 • 1回复 待解决
HarmonyOS napi callback是否会失效或被提前销毁
329浏览 • 1回复 待解决
napi常见用法:class对象绑定
1142浏览 • 1回复 待解决
如何通过 napi 获取一个 C++ map 类型的对象
1904浏览 • 1回复 待解决
Native如何通过napi获取ArrayBuffer?
3639浏览 • 1回复 待解决
JS线程通过napi创建的C++线程的处理结果,如何返回JS线程
2076浏览 • 1回复 待解决
NAPI 的 napi_throw_error 不会导致应用崩溃
1113浏览 • 1回复 待解决
napi调用C++网络请求逻辑,创建socket失败咋回事?napi方法能否使用async?
400浏览 • 1回复 待解决
有没有新的napi的一些demo?
402浏览 • 3回复 待解决
如何将通过napi创建的C++线程的处理结果传递回JS线程?
531浏览 • 1回复 待解决
HarmonyOS主线程的napi_ref是否可以被worker线程使用?
446浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何销毁在HarmonyOS中创建的PurgeableMemory对象?
85浏览 • 1回复 待解决
napi_get_arraybuffer_info 和 napi_create_arraybuffer 的使用
2074浏览 • 1回复 待解决
HarmonyOS napi C++侧怎么通过一个“ClassName” 初始化一个ArkTS的对象
383浏览 • 1回复 待解决
HarmonyOS 使用napi_create_buffer_copy创建大内存失败
36浏览 • 1回复 待解决
HarmonyOS napi_call_threadsafe_function没有block调用线程
656浏览 • 1回复 待解决
HarmonyOS napi_env对象是否可以在native层长期持有,作为在某些情况下调用napi的接口时使用
419浏览 • 1回复 待解决
HarmonyOS router.back后方法回调没有被销毁
354浏览 • 1回复 待解决
通过NAPI编译后生成的abc文件存放路径在哪儿
2035浏览 • 1回复 待解决
如何使通过NAPI读取到的ArkTS字符串不被截断?
841浏览 • 1回复 待解决
HarmonyOS NAPI开发相关问题
382浏览 • 1回复 待解决
NAPI介绍(九) - gdb调试
667浏览 • 1回复 待解决
HarmonyOS napi如何传递一个对象,然后C++侧调用这个对象内部的回调方法
457浏览 • 1回复 待解决
需要提供napi反调ets的例子
925浏览 • 1回复 待解决
退到后台和js中主动触发GC,都会 调用对象的析构方法;
您可以尝试以下步骤触发GC验证触发GC的操作如下:1,2均可触发
1、应用切后台且满足内存增长条件,可触发Compress GC
2、js代码中手动调用ArkTools.forceFullGC(),可触发Compress GC
代码如下: