今日视点:RTC 性能自动化工具在内存优化场景下的实践


(相关资料图)

背景介绍

性能测试是 SDK 发版的重要依据,VolcRTC 的业务方对于性能指标都比较重视,对于 RTC 准入有明确的准入标准。因此我们建立了线下的性能自动化测试系统,测试过程中我们发现 VolcRTC 的内存占用较高存在较大的优化空间。某个版本 1v1 语音通话 VolcRTC 1v1 语音通话内存占用:

占用的资源Memory[MB]
Android 高端机17.87
Android 中端机17.58
Android 低端机16.06
iOS 高端机6.19
iOS 中端机6.52
iOS 低端机5.73

为了实现内存优化,首先需要理清两个问题:

哪些模块消耗多少内存?如何优化?

内存组成

在回答以上两个问题之前,我们先了解下内存的主要组成部分有哪些。

在 Android 系统上,内存主要分为:

Java Heap,从 Java 代码分配的对象;通话过程中 Java 内存的分布曲线,主要呈锯齿状的周期性变化。结合 VolcRTC 的业务特点,可以知道这部分内存主要在 JNI 调用时分配临时对象,累计到一定程度后由系统的 GC 机制回收。Native Heap,从 C 或 C++ 代码分配的对象。这部分为 VolcRTC 主要内存占用。
推荐DIY文章
智慧驱动 共创未来| 东芝硬盘创新数据存储技术
精选!iOS10-10.2怎么越狱 苹果iOS10-10.2一键完美越狱图文教程
环球简讯:手机上网网速慢怎么办?解决手机上网网速慢的方法
今日讯!2016年国产手机排行榜前十名 国产手机前十名排行榜
时讯:红米note4和小米4C哪个好 红米note4和小米4C详细区别对比评测
环球热点!iPhone12发布会地址入口 iPhone12发布会直播地址
精彩新闻

超前放送