0x1 工具
- XCTestMetrics 性能测量
- MetricKit 线上手机电量和性能信息
- Xcode指标信息(Organizer) 在Xcode中查看 聚合电量/性能/IO等指标
0x2 指标
- processing (CPU)
- Location (可以分析出不必要的定位 后台定位 长时间定位)
- Display (APL OLED 深色省电 浅色费电)
- Networking(可以分析出 预期外的上传下载 弱网环境)
- Accessories(蓝牙等配件)
- Multimedia
- Camera
- Performance 指标
- App挂起(阻塞主线程,尽可能把work移到非主线程,利用gcd处理异步任务)
- 磁盘利用率 (监测意料之外的读写,)
- App启动 (监测启动和恢复到前台的性能)
- 内存峰值 ,平均峰值(可以标示出难以重现的内存泄漏,进入到后台是减少内存使用)
- 自定义指标
0x3 详细介绍
before
after 在XCTest中增加了时钟,cpu,内存的指标监控
测量启动性能
XCTest 指标使用场景
- 可以监控CPU,内存,存储,时钟,OSSignpost
- 自定义指标
- A/B testing 性能测试
- 自动集成与自动化测试
MetricKit
- 收集Framework 电量和性能指标
- 可以指示出代码问题
- 尊重用户隐私
- 开箱即用
-
隔日有效(收集24小时的数据统计出报表再上报)
代码示例
MetricKit’s mxSignposts
MetricKit 报告示例
-
定位异常
-
app挂起异常
-
动画效果过多占比50%
0x4 总结
略