最近在集成声网Agora的视频SDK,用的是最新的2.2.1版本。
代码导致的问题是,输入频道号进入频道,第一次视频正常,再次输入不同的频道号进入频道,会导致一方的视频视图显示不出来,杀掉APP进程后,重新进入频道视频视图能显示。猜测是内存泄漏问题,采用LeakCanary内存泄漏检测工具,LeakCanary工具github地址 https://github.com/square/leakcanary,具体如何集成参考LeakCanary的README.md。
将LeakCanary集成到我的项目后,运行APP,发现果然是内存泄漏导致的视频视图不能显示。
在静态类AgoraManager的sAgoraManager实例中,引用了mOnPartyListener,造成SingleActivity结束时内存泄漏6.3KB。
解决方式:
在SingleActivity的