iOS现阶段性能测试方法汇总

232 阅读1分钟
  1. 集成SDK方法

业界主流方法,腾讯GT,滴滴Doraemon,以SDK的方法接入工程中

可监测数据包括:CPU,内存,FPS,流量,卡顿等性能指标

其中具体实现方法大同小异,通过分析Doraemon源码总结

www.jianshu.com/p/4091870ca…

CPU:主要是取当前的所有线程相加,调用内核中APP的thread_info信息,然后累加thread_info中各线程占用率之和

内存:使用phys_footprint获取的内存消耗基本与Xcode自带的统计工具相同

FPS:使用CADisplayLink,该方法可以让你与屏幕刷新率相同的速率来刷新你的当前视图,等同于同步屏幕刷新频率的计时器。使用时,绑定一个累加函数即可。

流量:使用NSURLProtocol方法拦截NSURLConnection、NSUrlSession、UIWebView中所有的网络请求,获取每一个网络请求的request和response对象。缺点是无法拦截tcp请求

  1. Perfdog(目标)

实时显示对应的性能指标,但是具体取性能数据的方法还未知

猜测,反编译了instrument或者Xcode中的方法,理由:调试APP时也能看到实时的数据,需要后续查阅Xcode的文档,或者试图反编译

  1. instrument + trace文件分析(初步)

使用instrument的命令行来执行对应的监测数据,根据生成的trace文件对其进行反编译

www.jianshu.com/p/c39939e88…

后续:考虑是否可以和自动化进行统一,分析相关数据

  1. shell修改性能文件

testerhome.com/topics/1606…

关于页面加载时间的专项

使用minicap+iOS自动化+图像识别