使用OH_AVBuffer_Create()创建的音视频缓冲区,使用完毕后,需及时调用OH_AVBuffer_Destroy()进行销毁,避免缓冲区资源无法回收,造成内存泄漏。
// rules.json
{
"rules": {
"cpp": {
"ResourceLeak": [
{
"ruleId": "AVBuffer API Not Paired",
"severity": "error",
"skip": false
}
]
}
}
} // 正例代码 #include "web/arkweb_scheme_handler.h" void CreateResponseWithDestroy() { ArkWeb_Response *response; // 创建 ArkWeb 响应 OH_ArkWeb_CreateResponse(&response); if (response == nullptr) { return; } // 设置响应内容... // 正确销毁响应对象 OH_ArkWeb_DestroyResponse(response); }
// 反例代码 #include "web/arkweb_scheme_handler.h" void CreateResponseWithoutDestroy() { ArkWeb_Response *response; // 创建 ArkWeb 响应 OH_ArkWeb_CreateResponse(&response); if (response == nullptr) { return; } // 使用 response... // 未销毁 - 内存泄漏! }
Code Scanner代码检查规则的配置指导请参考1.6.3 代码检查工具(codescanner)