HarmonyOS napi开发过程中的泄漏问题

开发cronet项目时,需要使用napi给cronet封装一层接口,好让js调用方便。但使用的过程中通过日志发现有些napi_wrap的c++ 对象并没有释放,如何发现。在构造函数中登记this指针,在析构函数中取消登记。最后打印未取消登记的,发现有一堆未释放的 c++ 对象,如下图:

HarmonyOS napi开发过程中的泄漏问题 -鸿蒙开发者社区解决方案

napi_wrap接口的使用,请参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/napi-guidelines-V5

里面提到了napi_remove_wrap删除napi_ref,这样GC才能正常释放js_object。

GC机制:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/gc-introduction-V5

HarmonyOS napi_create_ark_runtime是否线程安全,只支持console和timer么,如果获取网络类型、音频路由等能用这个方案么 <a name="section850013297333"></a>

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
aquaa

函数本身不涉及线程安全,它就只是在当前线程创建一个ark运行时的实例而已,create_ark_runtime加载的ArkTs模块目前只能用于:

1、console接口日志打印。

2、setInterval和setTimeout这两个定时器。

分享
微博
QQ
微信
回复
1天前
相关问题
Lite Wearable 开发过程中疑问
10915浏览 • 2回复 待解决
HarmonyOS开发过程应用内存问题咨询
396浏览 • 1回复 待解决
HarmonyOS 动画过程中UI残留
75浏览 • 1回复 待解决
在HAP编译过程中,本地依赖tgz
851浏览 • 1回复 待解决
录制过程中HarmonyOS如何切换摄像头
459浏览 • 1回复 待解决
mysql存储过程中处理多条数据
2041浏览 • 1回复 待解决
HarmonyOS NAPI开发相关问题
404浏览 • 1回复 待解决
如何处理语音识别过程中错误?
225浏览 • 0回复 待解决