APP启动性能分析

APP启动性能分析可以看作是APP专项测试的一个小的方面。从用户层面考虑,专项测试的表现有:崩溃、卡顿、响应慢、发热、掉电特别快、还有一些就是兼容性问题等等。
崩溃,可能在自动遍历或者monkey测试过程中等情况出现
卡顿,可能会在出现内存泄漏的时候出现
响应慢的影响因素,可能会在冷热启动、界面切换以及性能测试的过程中会出现
发热以及耗电特别快的场景更不用多说了,他们更是我们在测试过程中所必须要关心的
在学习APP启动性能分析之前,我们需要先学习activity,那么到底什么是activity,举个简单的例子,我有两个APP,我们在进行APP之间相互切换的过程中,我们希望每一个APP都能保持自己APP的最终的页面,当然除了杀掉进程,这个时候安卓处理这个问题的时候就运用到了activity,我们可以简单理解为,每一个APP都是一个小的activity,那么activity的启动过程到底是怎么样子的呢?
其实,我们可以简单理解为,安卓依赖于底层的系统,比如说是linux系统,那么APP在启动的时候,首先底层的系统先进行启动,接着我们看到APP整个屏幕都白了,我们可以理解为这个白窗口什么都不做,再然后会启动一个进程;再然后会创建一个object,这个object里面会创建一个主线程,这个线程里面会启动很多的activity,包括很多功能,比如说调用不同的方法啊以及渲染页面等等,当大部分功能页面渲染完毕之后,白窗口开始消失,开始展现我们的主页面
那么APP启动的性能指标有哪些呢,我们可以简单理解为有
冷启动:可以理解为删除进程或者刚安装完成APP的启动,是最为重要的,一般建议时间不要超过5秒
暖启动:可以理解为APP在后台停留时间较长,内存可能会被杀掉,此时重启,有一些对象会被保留,复用这些对象的过程,一般建议不要超过2秒
热启动:可以理解为正在玩当前的APP,然后去微信回复其他人信息,再切回刚玩的APP的过程,一般不要超过1.5秒
首屏启动:就是再加上start的时间
使用adb logcat获取相应数据
首先使用该命令adb shell "dumpsys window | grep mCurrentFocus"获取APP的包名com.xiaomi.shop
在这里插入图片描述
清理缓存数据:adb shell pm clear com.xiaomi.shop
在这里插入图片描述
此时,APP被清除了缓存同时也被杀掉了进程
再一次停止进程:adb shell am force-stop com.xiaomi.shop
在这里插入图片描述

启动APP:adb shell am start -S -W com.xiaomi.shop/com.xiaomi.shop2.activity.MainActivity
在这里插入图片描述
这个时候我们发现APP已经启动
获取数据:adb logcat | findstr -i displayed,可以看到每一个活动的详细数据
在这里插入图片描述
但是这里只显示了某一个活动的时间,我们如果想比如说测试某一段时间,比如说动态广告的时间,或者是广告之前的时间,这个时候我们就可以使用ffmpeg拆针;
我是下载的这个文件进行的解压,地址:https://github.com/BtbN/FFmpeg-Builds/releases/tag/autobuild-2021-02-09-12-38
并把bin文件夹添加到了path环境变量里面,在dos窗口输入ffmpeg出现如下信息说明安装成功了
在这里插入图片描述
adb shell am force-stop+包名,我们使用小米商城为例
在这里插入图片描述

adb shell screenrecord --bugreport --time-limit 30 /data/local/tmp/mishop.mp4&开始录制30s,30s之后会自动停止
在这里插入图片描述
此时我们将视频拉取到电脑本地
adb pull /data/local/tmp/mishop.mp4 .
在这里插入图片描述
我们查看已经拉取成功,我们再看下是否本地已经有了该文件
在这里插入图片描述
接下来我们使用ffmpeg对视频进行拆帧
ffmpeg -i mishop.mp4 -r 10 frames_%03d.jpg
可以看出执行的很快
在这里插入图片描述
对应目录下生成了很多了图片,我们把这些图片全部粘贴到一个文件里面进行查看
在这里插入图片描述
在这里插入图片描述

可以看出它基本从17帧就开始渲染白窗口了,从点击APP到广告第一帧,基本上也就是用了1.5s左右,也就是30/304*(32-17)=1.48,其中304是我已经分得的帧数

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木土雨成小小测试员

你的鼓励将是我最大的创作动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值