目录
1、关于”内存”
2、APP使用内存及衡量指标
3、常见的内存问题及可能的原因
4、结合腾讯课堂浅谈内存测试方法
一、关于“内存”
首先我们所说的“内存”是指终端系统运行内存,用于暂时存放CPU中的运算数据,与外部存储进行交换的数据。从启动终端APP的那一刻起,内存就伴随着app的整个生命周期,我们的每一次点击、刷新、进出页面等等操作都会产生内存的使用、释放和消耗。终端的运行内存大小是固定的,如果APP一次性使用大量内存或者持续占用内存而不释放,那么对APP的正常使用势必会造成直接或潜在的影响。这里我们引入两个名词,性能瓶颈和内存泄漏。性能瓶颈:限制系统性能的关键因素。可以类比木桶的短板来理解这个瓶颈。内存泄漏:通俗来讲就是系统分配的内存被持续占有而没有归还给系统,详解请参见第三节。那么我们可以从这两个角度来分析内存对APP性能的影响。
二、APP使用内存及衡量指标
1、内存用在了那里?
把app的生命周期以进程单位来看的话,使用内存的为以下四种途径:
(1)自身代码使用的内存
(2)共享库代码使用的内存
(3)运行过程中分配的堆和栈使用的内存
(4)通过map映射的磁盘文件内容使用的内存
2、衡量内存占用的指标
根据在进程中内存的使用和分配方式,我们将内存分为四种类型:
VSS- Virtual Set Size 虚拟耗用内存
RSS- Resident Set Size 实际使用物理内存
PSS- Proportional Set Size 实际使用的物理内存
USS- Unique Set Size 进程独自占用的物理内存