04-资源泄漏

本文件汇总该版本中归类为资源泄漏的历史修复,重点包括内存泄漏、句柄未释放和长期运行后的资源累积问题。

1. ComponentInstance 内存泄漏

  • 修改日期:2025-03-03
  • 版本:0.72.59
  • 问题描述:CppComponentInstance 子类中持有的资源未随组件实例析构一同释放,ComponentInstance 生命周期结束后内存残留,导致泄漏持续积累
  • 影响模块:ComponentInstance
  • 提交 / PR:4ae6d4561 / !618
  • 详细修复内容:处理 ComponentInstance 释放不完整带来的内存泄漏问题,避免对象在组件生命周期结束后残留。

2. TurboModule 内存泄漏

  • 修改日期:2026-01-07
  • 版本:0.72.112
  • 问题描述:TurboModule 中多处资源泄漏:HTTP 请求回调未清理,AppearanceTurboModule 和 NetworkingTurboModule 资源未释放
  • 影响模块:TurboModule
  • 提交 / PR:58179914c / !1964
  • 详细修复内容:修复三个关键泄漏点:HTTP 请求完成后回调未及时清理,以及 AppearanceTurboModule、NetworkingTurboModule 在析构阶段资源未正确释放。通过补齐回调和模块析构清理逻辑,降低长期运行过程中的内存积累风险。

3. runOnQueueSync 在 JS 线程上内存泄漏

  • 修改日期:2026-02-24
  • 版本:0.72.128
  • 问题描述:runOnQueueSync 在 JS 线程同步执行路径上,EventLoopTaskRunner / ThreadTaskRunner 中任务闭包持有的资源在执行后未被释放,导致内存持续泄漏
  • 影响模块:线程队列
  • 提交 / PR:781706f14 / !2263
  • 详细修复内容:针对 runOnQueueSync 在 JS 线程执行路径上的内存泄漏问题进行治理,重点是避免同步任务执行后资源无法释放。