App性能监控

通常情况下,App 的性能问题虽然不会导致 App 不可用,但依然会影响到用户体验。如果这个性能问题不断累积,达到临界点以后,问题就会爆发出来。这时,影响到的就不仅仅是用户了,还有负责 App 开发的你。为了能够主动、高效地发现性能问题,避免 App 质量进入无人监管的失控状态,我们就需要对 App 的性能进行监控。目前,对 App 的性能监控,主要是从线下和线上两个维度展开。今天这篇文章,我就从这两个方面来和你聊聊如何做性能监控这个话题。接下来,我们就先看看苹果官方的线下性能监控 Instruments。

关于线下性能监控,苹果公司官方就有一个性能监控工具 Instruments。它是一款被集成在 Xcode 里,专门用来在线下进行性能分析的工具。Instruments 的功能非常强大,比如说 Energy Log 就是用来监控耗电量的,Leaks 就是专门用来监控内存泄露问题的,Network 就是用来专门检查网络情况的,Time Profiler 就是通过时间采样来分析页面卡顿问题的。就是 Instruments 的各种性能检测工具。

除了对各种性能问题进行监控外,最新版本的 Instruments 10 还有以下两大优势:Instruments 基于 os_signpost 架构,可以支持所有平台。Instruments 由于标准界面(Standard UI)和分析核心(Analysis Core)技术,使得我们可以非常方便地进行自定义性能监测工具的开发。当你想要给 Instruments 内置的工具换个交互界面,或者新创建一个工具的时候,都可以通过自定义工具这个功能来实现。其实,Instruments 的这些优势也不是与生俱来的,都是伴随着移动开发技术的发展而演进来的。就比如说自定义工具的功能吧,这是因为 App 的规模越来越大,往往还涉及到多个团队合作开发、集成多个公司 SDK 的情况,所以我们就需要以黑盒的方式来进行性能监控。这样的需求,也就迫使苹果公司要不断地增强 Instruments 的功能。从整体架构来看,Instruments 包括 Standard UI 和 Analysis Core 两个组件,它的所有工具都是基于这两个组件开发的。而且,你如果要开发自定义的性能分析工具的话,完全基于这两个组件就可以实现。

线上性能监控对于线上性能监控,我们需要先明白两个原则:监控代码不要侵入到业务代码中;采用性能消耗最小的监控方案。线上性能监控,主要集中在 CPU 使用率、FPS 的帧率和内存这三个方面。

你可能感兴趣的:(App性能监控)