很多时候,开发工程师在完成APP软件开发工作之后,或者软件发布上线上线之前,是需要对软件的整体性能等方面进行一列系统测试。下面,我们来了解一下常见的APP性能测试知识。
1、内存
为什么要选内存呢?需要知道Android的OOM和LowMemoryKiller。
OOM:OutOfMemory,顾名思义是说内存不够用或者耗尽了,进程会被强制终止。安卓框架限制了每个应用进程所占用的大内存值。关注内存的一个目的就是避免内存使用过大,出现OOM。主要关注内存使用较多时的场景,例如游戏app正在游戏中
LowMemoryKiller:LowMemoryKiller在用户空间中指定了一组内存临界值,当其中的某个值与进程描述中的oom_adj值在同一范围时,该进程将被Kill掉。如果你的APP某个进程需要一直保存存活,你需要保持你的进程优先级足够高,并且占用比较小,因为LowMemoryKiller在工作时,同一优先级的进程会先kill那个占用大的。性能测试时主要关注待机时的内存是不是够小。
2、CPU
为什么要关注CPU?
(1)CPU使用率
想必你肯定有这样的经历:玩某个游戏或者APP的时候,手机发热发烫。是的,CPU的频繁使用,会让你的手机发烫,让你的手机变卡(CPU资源不足)。如果让用户发现你的APP用起来发烫,那就等着他的吐槽和卸载吧。
也就是说CPU性能,我们需要关注APP使用中CPU消耗情况,通常会使用CPU使用率这个指标。
(2)CPUjiffies
如果APP在退出界面后还有进程长期运行,那你需要关注下待机场景的CPU。待机场景下CPU的消耗一般不会很大,例如手机管家,可能消耗经常是0%,1%,长时间平均下,可能只有0.1%、0.2%,看看竞品,也是差不多,好像没有太大区别。
3、电量
手机电池资源有限,电量的重要性就不必说了。现在很多手机都有电量排行,如果你的APP总是排在前面,小心被卸载哦。电量通常的单位是:mAs或者mAh。
4、流量
手机的一个特点就是有移动网络。移动网络下的流量消耗需要特别关注,wifi下的流量优先级略低。流量单位:kb,M。
5、速度/耗时
可用性原则里面有个2秒原则:一个松散的原则,即用户没有必要对某些系统响应等待2秒以上的时间,比如应用程序转换和开始的响应时间。对于启动APP,进入某页面,这些操作时间都应不超过2秒,且越短用户体验越好。
当然,2秒并不是绝对的,对于一些用户感知明显的功能,例如垃圾扫描,病毒查杀,可能需要更多的时间,但是操作进行期间,需要给用户适当的感知和预期,避免用户因等待过久而离开。当然,用户是期望能够又准又快。