有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

高性能 iOS 卡顿性能分析

精细的度量标准 性能优化效果的好坏需要准确的衡量方式,QAPM 依据 Facebook 卡顿度量方案,创造出掉帧率这种卡顿指标的概念,原理是对两帧(Frame)的刷新时间间隔大于16.7ms的情况,分时间间隔区间进行计数,从而更细粒度地发现卡顿情况,捕捉到更多偶现的性能问题。在给您提供优化效果的量化数据的同时,还能帮助您发现很多容易被漏掉的性能问题。
大幅的性能提升 为了更方便的解决性能问题,分析时需要采集当时卡顿场景的堆栈,但当时业界采集堆栈的性能损耗在百毫秒级,对性能影响的成本较高,远远达不到低损耗需求,经过 QAPM 团队1年多的研究,不断降低堆栈采集的性能消耗,把 CPU 消耗从之前业界每次采集的百毫秒优化到0.2毫秒,提升了500倍的性能。

全方位页面性能自动化分析

使用结合 X5 内核的页面性能分析平台方案“伦琴”,通过浏览器内核层接口收集在页面加载过程中详细数据,提供全面的性能分析报告,清晰明了的任务执行结果、详细性能数据以及多维度图表展示。

完整 Crash 数据上报

在大部分情况下很多 iOS App 的 Crash 率都不能反映真实的情况,因为 Sigkill 都是没有被统计的。QAPM 统计完整的 Crash 率进行上报,还提供了一定的分析能力。以往实践中在手机 QQ App 上效果很显著,让手机 QQ App 的 Crash 率下降了50%以上。

完美结合 X5 内核

结合强大的 X5 内核浏览器引擎,优化升级 Web 体验,提供安全稳定又高速的 Web 服务,在确保高效的同时,还能保证数据上报准确,定位更精准。

I/O 异常及耗电监控

基于堆栈,我们在 iOS 与 Android 的 SDK 之中,构建覆盖各种性能问题的定位能力。分析数据定位如果靠开发人力去完成,那遇到涉及上百人团队的 App 时任务量就相当庞大,耗时耗力,QAPM 构建了覆盖各类性能问题的堆栈,可达到快速准确定位各类问题的目的,大幅提高分析效率。 I/O 监控及电量监控功能是性能监控中容易被忽略的地方,但事实证明其中有大量潜在的性能问题。许多产品在接入 QAPM 后,发现了很多隐藏的耗电问题及磁盘性能问题,通过有效的数据分析针对性进行解决,真实地提升了数据库 I/O 的性能。



提供丰富解决方案

除提供监控功能、定位分析功能外,QAPM 还能提供解决方案。从手机 QQ 等数亿级用户量的项目中孕育出来的 QAPM,数年的经验使我们沉淀了一些真正解决性能问题的推荐代码实现,这些实战出来的解决方案或许能给您提供一些有效参考。

零人力自动侦查

QAPM 结合另一工具 NewMonkey,全自动侦查缺陷,在卡顿、内存、耗电、磁盘测试实现零人力。如下图内存测试场景,QAPM 在研发流程内 NewMonkey,从人工发现内存泄漏,到全自动侦查,在研发流程外通过用户执行,也可以帮助发现内存泄漏的问题。最终我们在多个项目做到了零人力投入内存测试,一年累计有效缺陷高达6K。