iOS:性能之卡顿检测

时间:2019-09-28 10:39:27   收藏:0   阅读:774

项目地址:
https://github.com/tunsuy/iOSMonitorLag

该项目主要是针对ios项目的卡顿监控的探索,结合ios的运行机制和业界的实践,将其应用于公司项目中进行试运行,查看相关效果

二、 方案一 基于RunLoop

1、 背景

2、 原理

3、 缺点

这种方式,当主线程中注册了timer等很多附加的东西时,会不断唤醒主线程,就会大量的调用observer回调,造成一定程度上的性能损耗

三、 方案二 基于线程

1、 背景

简单来说,主线程为了达到接近60fps的绘制效率,不能在UI线程有单个超过(1/60s≈16ms)的计算任务。通过Instrument设置16ms的采样率可以检测出大部分这种费时的任务,但有以下缺点:

2、 原理

下面是以接入口袋助理测试的效果图

技术图片 技术图片

四、 最后

但是像在口袋助理这样大型负责的项目中,这些方法都存在一些弊端,监测出来的也不一定是真的由于代码问题引起的,
这只是可以作为一种自动提醒机制,让开发者自行去检查下提示的代码是否真的存在性能缺陷

原文:大专栏  iOS:性能之卡顿检测


评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!