HarmonyOS 鸿蒙Next中AVScreenCaptureRecorder录屏后app卡死强退

HarmonyOS 鸿蒙Next中AVScreenCaptureRecorder录屏后app卡死强退

结束录屏后也释放了资源:

cke_1083.png

但是堆内存占用了48g,导致主进程卡死

cke_593.png


更多关于HarmonyOS 鸿蒙Next中AVScreenCaptureRecorder录屏后app卡死强退的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

在HarmonyOS Next中,AVScreenCaptureRecorder录屏后出现卡死强退可能是以下原因导致:

  1. 录屏资源未及时释放;
  2. 系统权限配置异常;
  3. 线程阻塞导致ANR。

需检查release()方法是否调用,确保在onDestroy()中释放captureSessionrecorder对象。同时确认ohos.permission.CAPTURE_SCREEN权限已动态申请。日志分析应关注"AVScreenCapture"相关异常堆栈。

更多关于HarmonyOS 鸿蒙Next中AVScreenCaptureRecorder录屏后app卡死强退的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


从提供的截图和描述来看,这可能是AVScreenCaptureRecorder资源释放不彻底导致的内存泄漏问题。建议检查以下几点:

  1. 确保在调用stop()后确实触发了onStop回调,并在回调中正确释放了所有相关资源

  2. 检查是否有循环引用导致GC无法回收内存,特别是监听器和回调的引用

  3. 48GB的内存占用极不正常,可能是底层Native层内存泄漏,建议:

  • 检查Native层资源释放
  • 使用性能分析工具抓取完整内存dump分析
  1. 可以尝试在release()后手动调用System.gc()触发垃圾回收(仅作为临时测试手段)

  2. 确保使用的SDK版本是最新的,已知早期版本存在类似内存问题

建议提供更完整的错误日志和复现步骤,以便进一步定位问题根源。

回到顶部