Improving Battery Life and Performance

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


image.png

after 在XCTest中增加了时钟,cpu,内存的指标监控


image.png

测量启动性能
image.png

XCTest 指标使用场景

  • 可以监控CPU,内存,存储,时钟,OSSignpost
  • 自定义指标
  • A/B testing 性能测试
  • 自动集成与自动化测试

MetricKit

  • 收集Framework 电量和性能指标
  • 可以指示出代码问题
  • 尊重用户隐私
  • 开箱即用
  • 隔日有效(收集24小时的数据统计出报表再上报)
    代码示例


    image.png

    image.png

MetricKit’s mxSignposts

image.png

MetricKit 报告示例

image.png
  • 定位异常


    image.png
  • app挂起异常


    image.png
  • 动画效果过多占比50%


    image.png

0x4 总结

你可能感兴趣的:(Improving Battery Life and Performance)