通过 external 或者 wrap 关联了 native 对象的 object,序列化之后传输到其他线程使用

模拟器(4.1.0.56)上断点实测 object 上挂 external 的表现是,序列化之后的对象也能看到 external 内存,这里是否 finalize callback 可能会被多次调用导致 double free?或者可能 finalize callback 调用时并非所有线程的对象都已经 gc,导致 use after free?

HarmonyOS
2024-05-10 21:55:14
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
鸡翅可乐

看使用方式,如果 napi_wrap不需要接收创建的napi_ref,最后一个参数传递nullptr,创建的napi_ref是弱引用,由系统管理,不需要用户手动释放,系统自动管理计数器,不会出现 double free。如果传的是引用,则由用户手动释放,就需要注意释放时机了。

分享
微博
QQ
微信
回复
2024-05-11 11:16:10
相关问题
求大佬告知如何序列化对象
1382浏览 • 1回复 待解决
HarmonyOS Map 序列化问题
485浏览 • 1回复 待解决
HarmonyOS http请求,json序列化
608浏览 • 1回复 待解决
HarmonyOS 有没有类似protobuf序列化
326浏览 • 1回复 待解决
HarmonyOS JSON中map结构如何序列化
1067浏览 • 1回复 待解决
有谁知道 task 参数无法序列化
1974浏览 • 1回复 待解决
自定义类如何实现序列化
2412浏览 • 1回复 待解决
JSON反序列化,如何重命名字段?
703浏览 • 1回复 待解决