最近在做性能这块的测试。一开始使用的截图方案是用adb自带的命令,格式类似:
adb shell screencap -p /sdcard/screencap.png
这个方式操作简单,但缺陷也有,一个是截图很大,一张图片好几M,还要手动写压缩算法缩减尺寸;另一个就是慢,完成一次截图花费1、2秒是很正常的。
缓慢的adb截图拖慢了整个测试节奏。经常导致6、7秒钟才能截取到一次数据。
之前用过STF,了解到STF的MiniCap速度非常快,在大多数机型上可以完美替代ADBCap。
https://github.com/openstf/minicap/tree/master/example
但MiniCap使用起来相当不便,用户必须手动为每个手机去安装"MiniCap"和"MiniCap.so"两个文件,而且MiniCap.so还区分CPU内核以及安卓版本,不同的so无法混用。
感谢Airtest项目,里面收集了目前主流版本的所有版本的"MiniCap"和"MiniCap.so"。