10.「利用 Metrics 和 Diagnostics 提高性能」网络研讨活动

前言

之前参与了Apple「利用 Metrics 和 Diagnostics 提高性能」网络研讨活动,之前只简单的总结了一下,现在整理一下。感觉有些东西还是挺实用的。

一:内存指标

  • 平均挂起内存和峰值内存

  • 内存管理会影响启动时间(冷启动热启动)

  • 通过这些指标了解内存的使用,可以:

    • 发现难以重现的内存泄露问题

    • 减小挂起平均内存

      • 减少挂起内存占用有助于减少应用在后台被释放的几率

二:MetricKit

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

  • 应用内接入后就可以通过API获取丰富的性能指标数据

  • 如果有必要可以将数据上报到自己的平台上,也可以作为开发过程中西能调优的工具

三:Xcode Metrics Organizer

XcodeWindow下拉菜单选择Organizer

这里是可以选择版本的包含:AppStore(Release) 和 TestFlight(Beta)

  • Reports

    • 这里的数据也是系统自动收集的,前提是用户需要允许给Apple共享数据

    • Crashes

      • 实测是可以看到具体崩溃信息的,无须上传符号表

        • 自己的小项目没有太多的崩溃可以看,后面找时间看下公司的项目的信息

    • Disk Writes

      • 没看到数据,可能是有异常才会上报吧

    • Energy

      • 没看到数据,可能是有异常才会上报吧

  • Metrics

    • 无须应用内集成MetricsKit就可以看到相关数据

    • 前提是用户量达到一定的水平

      • 具体是多少并没有提到,反正我自己的小App是没有的TAT

    • 需要用户在设置系统的时候统一将数据共享给Apple,否则是没有该用户的数据的

    • 所有数据都是苹果系统内自动收集上报的

四:App Store Connect API

这是苹果提供的一套REST API接口,可以直接通过请求获取Metrics数据。

但是需要和上面的满足一样的前提:达到一定用户量

五:参考

附本次主题参考资料:(会后Apple邮件提供的)

mprove performance and battery life in your app

Improving Battery Life and Performance

Optimizing Storage in Your App

MetricKit

Improving Your App's Performance

Last updated