You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android WebRTC应用前台服务销毁后出现IntentReceiver泄漏问题求助

WebRTC前台服务销毁后IntentReceiver泄漏问题解决

你遇到的这个泄漏是WebRTC内部NetworkMonitorAutoDetect的广播接收器未及时注销导致的,虽然你关闭了PeerConnectionFactory,但还需要补充以下步骤:

  • 显式停止NetworkMonitor:WebRTC的NetworkMonitor会自动注册网络监听的广播接收器,仅关闭工厂不会自动停止它。需要在服务销毁时调用NetworkMonitor.getInstance().stop()(不同版本可能略有差异,旧版可尝试NetworkMonitor.stop()),这个方法会内部注销那个泄漏的IntentReceiver。
  • 严格按顺序清理资源:销毁流程必须遵循以下顺序:
    1. 关闭并释放所有PeerConnection实例(调用close()和dispose())
    2. 释放MediaStream、音视频轨道等媒体资源
    3. 调用PeerConnectionFactory.stopInternalTracingCapture()和PeerConnectionFactory.dispose()关闭工厂
    4. 最后调用NetworkMonitor的停止方法
  • 确保清理逻辑在主线程执行:WebRTC的资源释放操作要求在主线程完成,别在后台线程执行销毁逻辑,否则会导致接收器无法及时注销。

泄漏提示原文:

CallService has leaked IntentReceiver org.webrtc.NetworkMonitorAutoDetect@bcf6651 that was originally registered here.

内容的提问来源于stack exchange,提问作者Pedif

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 20:32:03