android - WebRtcAudioRecord.context 由泄漏金丝雀报告泄漏。怎么解决?
问题描述
我的 webrtc Android 本机应用程序与WebRtcAudioRecord.context
. 泄漏金丝雀不断报告WebRtcAudioRecord.class
正在泄漏内存。
我确实以这种方式处理我的 webrtc 组件:
peerConnection?.dispose()
videoCapture?.dispose()
videoSource?.dispose()
factory.dispose()
PeerConnectionFactory.stopInternalTracingCapture()
PeerConnectionFactory.shutdownInternalTracer()
但是泄漏金丝雀仍然不断报告WebRtcAudioRecord.context
泄漏。知道如何解决这个问题吗?
我的应用程序不流式传输音频只是流式传输视频。
这是金丝雀内存泄漏报告:
┬──── │ GC Root:本机代码中的全局变量 │ ├─ org.webrtc.audio.WebRtcAudioRecord 实例 │ 泄漏:未知 │<br /> 在 2 个对象中保留 99 B │ .ui.activities 的上下文实例。│ MainActivity with mDestroyed = true │ ↓ WebRtcAudioRecord.context │</p>
╰→ .ui.activities.MainActivity 实例泄漏:YES(ObjectWatcher 正在观看这个,因为 .ui.activities.MainActivity 收到了 Activity#onDestroy() 回调并且 Activity#mDestroyed 为真)在 2750 个对象中保留 153.0 kB key = 33e94f80-0004-4aeb-b351-dab64a8280da watchDurationMillis = 5134 retainedDurationMillis = 134 mApplication .App 实例 mBase androidx.appcompat.view.ContextThemeWrapper 实例
元数据
Build.VERSION.SDK_INT: 29 Build.MANUFACTURER: HUAWEI LeakCanary 版本: 2.6 应用进程名称: some.app 保留但清除的计数: 10 KeyedWeakReference 实例统计: LruCache[maxSize=3000,hits=4250,misses=80514,hitRate= 5%] RandomAccess[bytes=4071605,reads=80514,travel=36763422162,range=23400016,size=29 171709]堆转储原因:8个保留对象,app可见分析持续时间:4019 ms
解决方案
推荐阅读
- vb.net - 防止将消息保存在已发送邮件文件夹中
- ios - CMPedometer queryPedometerData() 返回错误的步数
- java - java servlet PrintWriter#flush 停止抛出异常
- visual-studio - Visual Studio 2017 - 测试运行器 - 调试选定的测试 - NUnit - 不工作
- ruby-on-rails - 使用多态方式具有多种地址类型和与模型的关联?
- mongodb - 使用 Spring-Data 进行分页:PageRequest 泄漏到 REST 控制器中
- excel - 从子形状切换到组以选择
- python - 从ListView重定向到Django 2.1中的另一个ListView
- python - doit 在 dodo.py 中运行每个函数。我可以改变它吗?
- mysql - MySQL - 如何选择与最近日期相关的值+所有值的最大值/最小值