HarmonyOS woker自动释放、c层崩溃

1、研发的app开辟了worker线程。在使用过程中体验十几分钟均顺畅执行。不会产生崩溃,一旦没有跟手机交互超过3、5分钟,app自动崩溃。

2、停止交互1、2分钟在未崩溃之前,继续使用交互也不会崩溃。

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

指针的内存二次释放引起的,需要将asan打开重现:

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/ide-asan-0000001545528013-V5

重现后cpp中会记录申请的内存位置、释放的内存位置、再次释放的位置。注意:文档中对asan开启时,里面介绍了使用约束。

有些napi接口参数是双指针,但是使用时不需要申请内存以及释放内存,如napi_create_arraybuffer、napi_get_arraybuffer_info等napi接口,存在参数是双指针传递的参数,无需申请与释放内存,接口使用举例如下:

void *output_ptr = NULL;
napi_create_arraybuffer(env, byte_length, &output_ptr, &output_buffer); //  第三个参数,无需申请内存,也无需释放内存
分享
微博
QQ
微信
回复
3天前
相关问题
HarmonyOSC++触发通知到ArkTS
108浏览 • 1回复 待解决
ArkTS通过接口访问C++对象
383浏览 • 1回复 待解决
c/c++主动调用ArkTS存在问题
421浏览 • 1回复 待解决
HarmonyOS ETS和c++通信
35浏览 • 1回复 待解决
ts给c++传递数组,c++如何解析
1934浏览 • 1回复 待解决
HarmonyOS C如何获取手机网卡信息
41浏览 • 1回复 待解决
HarmonyOS C++自定义组件如何开发?
345浏览 • 1回复 待解决
HarmonyOS C++如何同步调用JS函数 -
57浏览 • 0回复 待解决
HarmonyOS C++ 调用 ets 函数报错闪退
33浏览 • 1回复 待解决
通过Native 调用c++实现文本绘制
1091浏览 • 1回复 待解决