Metrics 和 Diagnostics 提高性能

搜索性能指标的工具

XCTest Metrics

  • 衡量性能的 measure block

这个是随着xcode提供的一个单元测试的工具,可以让你直接通过一个measure block来获取性能的指标,可以在UT阶段,就可以了解各个功能对性能产生的影响

MetricKit

  • 搜集电池和性能指标和诊断的框架

可以直接在app里面提供相关的指标,可以帮助你了解app在实际运行起来是什么情况

Xcode Metrics Organizer

  • 在Xcode 中电池、性能和I/O的聚合指标

它汇集了一组性能指标,以非常直观的图表的形式。可以方便的了解,我们的app在整个市场范围内对实际用户来说运行起来是什么样子的

能耗和性能API

  • 通过 APP Store Connect API 程序化获取指标和诊断信息

开发阶段

开发测试
XCTest
Bate
公开发布
MetricKit
Xcode Metrics Organizer
APP Store Connect API

XCTest 适合在开发测试阶段进行使用
MetricKit 适合在Bate和公开发布后, 在实际使用的用户中进行使用收集相关数据

Xcode Metrics Organizer
APP Store Connect API
可以帮助大家从实际用户那里去了解性能相关的信息
所有这些放在一起我们有各种各样的方式,来量化开发过程中的各阶段对电量和性能相关的信息

性能指标概述

我们先来看一下这些指标里包涵什么样的信息, 我们的量化指标分为两大类一个是电量、另一个是性能

电池

性能

电池相关指标

对于电池,我们提供了一系列相关指标,来帮助我们量化对电力消耗的影响,其中包括运算处理

  • 运算处理
  • 定位
  • 显示
  • 网络
  • 配件
  • 多媒体
  • 相机
运算处理
  • CPU时间, GPU时间等等
  • 利用这些量化指标理解工作负荷
  • CPU空转
  • 意料之外的渲染
  • 比较功能的算法效率

我们先从运算处理指标开始,它对应的是CPU和GPU的消耗时间,你可以理解为是app的一个工作负荷,
利用这个指标我们可以发现CPU和GPU的额外消耗
比较功能的算法效率

定位
  • 累计使用时间、后台时间等等
  • 通过这些指标来了解定位的使用量
  • 发现定位未及时关闭的情况
  • 确保使用正确的定位精度

接下来是定位指标
这个指标帮助我们了解定位服务的使用量,在不同的定位精度下,跟踪位置的时间。
定位是我们app常见的电量大户,你可能一直开着定位而实际上你又不需要,或者可能开着比你实际需要更高的定位精度
这些都会导致你消耗更多不必要的电量

显示
  • 平均像素亮度
  • OLED 显示屏上UI的颜色会影响能耗
  • 颜色越亮 = 能耗越高(高APL)
  • 颜色越暗 = 能耗越低(低APL)

接下来是显示指标,苹果提供了平均像素亮度这样的指标
在OLED 显示屏,UI显示的颜色会影响能耗
我们可以通过平均像素亮度,APL来衡量这个指标
一个颜色越浅,消耗的电量就越高,我们可以说它的APL比较高
如果UI使用的颜色比较深,平均像素亮度比较低,能耗就越少
如果你渲染的频率比较高,也会消耗比较高的电量

网络显示
  • 上传和下载量、连接状态等等
  • 尽可能优化网络使用
  • 验证合理的上传和下载
  • 了解弱连接状态的影响

最后我们要提到的是网络指标
每当你app通过蜂窝或者是wifi连接网络就会消耗更多的电量,它会被记录到网络指标,希望大家尽可能的优化网络的使用,这些指标会对应上传和下载量的计数,可以验证我们这些量是否合理
还可以监测网络连通性和连接状态对重试的影响
连通性对电量的消耗也会有很大的影响
以上这些就电池电量相关的指标
通过些可以量化电量的消耗

性能相关指标

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杜甲同学

感谢打赏,我会继续努力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值