adb命令
-s + 序列号:指定设备
am:启动app的某一个界面
-S:删除的意思
-W:wait,等待一段时间,命令什么时候运行完再退出
1.清除缓存
adb shell pm clear $package
2.停止进程
adb shell am force-stop $package
3.查看包名
adb shell dumpsys window w|grep /|grep name=
4.启动app
adb shell am start -S -W $package/.view.WelcomeActivityAlias
thistime:748 (启动时间)
waittime:772(站在用户角度统计的时间)
5.查看actvity
adb logcat |grep Displayed
adb logcat | grep -i displayed
-i意思是忽略大小写
启动依据
冷启动:进程不存在的时候启动 不超过5s
暖启动:进程在,界面不存在,activity’被销毁 不超过2s
热启动:界面对象仍然存在,只是从后台前置到前台。不超过1.5s
首屏启动:第一屏加载完整
录屏拆帧
华为手机的screenrecord命令无法使用,已被厂商移除,可以使用华为自带的通知栏的录屏功能
1.可查看设置录制分辨率/帧率/录制时间的命令
adb shell screenrecord --bugreport --help
adb shell screenrecord --time-limit 30 /data/local/tmp/xueqiu.mp4
--time-limit 30 :设置录制时间
后跟保存路径
2.录制-可指定录制完毕保存至手机的路径
adb shell screenrecord --time-limit 20 /data/local/tmp/luzhi.mp4
adb pull /data/local/tmp/luzhi.mp4
3.拆帧
ffmpeg工具:
ffmpeg -i xueqiu.mp4
ffmpeg -i xueqiu.mp4 -r 10 frames_%03d.jpg
-i:输入
-r:拆成每秒多少帧
frames_%03d.jpg:拆成的图片按照后三位整数命名
4.视频转gif:还可以将mp4视频转成gif图片
ffmpeg -i xueqiu.mp4 -r 10 frames_%03d.gif
剖析:
其中的三个框框代表三个步骤
前两个可以使用adb logcat 来统计启动时间,最后这个(页面展示时间) adb无能为力,这样只能使用录屏➕拆帧来统计,也可以定位到那个点出了问题启动过慢