android专项测试

内存

内存泄露和内存溢出的区别:

内存溢出out of memory:申请和分配了1m内存,执行时却需要存2m的数据,此时会出现oom
内存泄露memory leak:申请内存后无法释放,多次操作会造成内存越占越多,最后造成内存溢出oom(一次内存泄露可能不会造成oom),所有程序有内存泄露不一定出现oom

内存溢出原因:

1.内存中加载数据量过大,如从数据库中读取的数据过多
2.集合类中有对象的引用,使用完后未释放,jvm不能及时回收
3.死循环或循环中产生过多重复的对象实体
4.启动参数内存值设定过小

防止内存溢出:

1.检查sql语句,避免大数据查询获取
2.检查代码
3.内存测试监控,重复操作来查看内存情况

内存测试场景

cpu

adb shell top –d 1 | grep com.tcl.account
或者top|grep com.wedrive.welink.launcher 查看cpu情况,占用高的时间要短
cpu测试场景:
1.空闲状态下的应用CPU消耗情况
2.中等规格状态下的应用CPU消耗情况
3.满规格状态下的应用CPU消耗情况
4.应用CPU峰值情况
测试方法一:
adb shell dumpsys cpuinfo | grep packagename>/address/cpu.txt
测试方法二:
adb shell top | grep packagename>/address/cpu.txt

耗电

https://www.jianshu.com/p/420016bb65d1
使用batterystats命令,先将手机电池信息重置,然后操作应用(自动化脚本进行应用的启动和操作),测试完毕,导出记录文件,然后进行结果解析

流畅度

gfxinfo拿到的帧率信息
UI_score = 100 - (janky_frames / total_frames_rendered),根据Google Vitals呈现速度缓慢的定义,当超过50%的帧呈现时间超过16毫秒,说明呈现速度缓慢。所以,当UI_score<=50时,页面卡顿

启动时长

https://www.jianshu.com/p/9ae7abea6689
录屏,然后对视频进行解析,指定一个元素图片,视频分帧后和图片进行对比,如果一致说明该帧表示所有元素加载完毕,计算从开始到该帧的时间,即为启动时长

你可能感兴趣的:(android专项测试)