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

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

  1. 哪些模块消耗多少内存?

  2. 如何优化?

内存组成

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

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

下图红框部分为 VolcRTC 通话过程

  • Java Heap,从 Java 代码分配的对象;通话过程中 Java 内存的分布曲线,主要呈锯齿状的周期性变化。结合 VolcRTC 的业务特点,可以知道这部分内存主要在 JNI 调用时分配临时对象,累计到一定程度后由系统的 GC 机制回收。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值