0%

诊断APP的电源和性能回归

Instruments工具包含了非常丰富的数据,可以自由选择查看各机型、各指标类目的具体性能数据,同样也正因为其展示的数据太过庞杂,可能让开发者不清楚该从如何入手去进行优化。

Xcode 13中Instruments中新增了Regressions模块,它会突出需要优先处理的性能问题,来简化工作流。

(温馨提示:本片内容来源自WWDC21:Diagnose Power and Performance regressions in your app

想了解更多WWDC2021内容的小伙伴,可以阅读我以下文章,欢迎多多交流和指正

一文带你读完WWDC21核心(新)技术点

APP终极性能生存指南

检测和诊断内存问题

iOS中的Hang是什么?该如何治理?

Regression

当一个APP相对与近期的版本,在性能或电量方面发生劣化,就称为回归(Regression)。

比如在上线一个新版本后,APP启动时间增加。

3:47

最新版本的启动时间,会与近期几个版本的启动时间的平均值进行比较,如果最新版本的启动时间更长,就会标记为回归。

4:33

Regression左侧栏汇总了哪些指标被回归,以及相较上几个版本劣化了多少。

  • Disk Writes

    磁盘和内存还有CPU一样都是受限制的资源,不检查磁盘写入会损耗和伤害底层设备,同时还可能造成Hang(用户操作超过250ms未响应记作一个Hang)和UI卡顿,甚至缩短电池寿命。

    • Insights

    Organzier新增了一个叫做Insights区域的区域,来提供一些性能优化建议

    10:29

  • File activities

    Instruments中的File activities也可以用来debug储存相关的问题。

    11:40

相关资料

Why is my app getting killed?

Triage TestFlight crashes with Xcode Organizer

Identify trends with the Power and Performace API