卡顿监控工具使用说明
1.工具介绍
当前监控工具可以用于量产监控UI和应用卡顿,但是该工具还没有和数据埋点结合,量产环境下监控暂时没有意义。因此建议各位FO在开发阶段集成该工具,在开发阶段就知道自己应用是否出现卡顿和丢帧,提早发现问题,处理问题。
该工具包括两个部分:
- UiBlockMonitor :主要监控界面是否有丢帧
- AppBlockMonitor :主要监控应用主线程处理事件是否超时,超时会打印堆栈。
2.UiBlockMonitor 使用介绍
该工具主要基于Choreographer的帧回调接口实现的。当收到垂直同步信号,开始绘制的时候就会回调doFrame()接口,在回调中监控到两次回调间隔时间大于16.7ms就说明有丢帧,就会输出一次日志通知开发检查自己界面各个view的绘制时间。
说明:如果偶尔发现有该日志输出,可以暂时不优化。如果在界面切换的时候或者一直在输出该丢帧log,就需要查看自己代码是否在三大绘制流程中有做过多耗时操作。
2.1 使用方法
1 | // 开始监控丢帧 |
3.AppBlockMonitor
该工具主要基于Handler消息处理机制,监控消息处理大于阈值的事件。默认是3000ms,可以设置该时间,建议不要操作3000ms, 如果设置成5000ms,可能就无法帮助你监控ANR事件或者应用卡顿了。
如果出现卡顿之后,会报出堆栈日志,此时就需要FO检查代码问题了。
3.1 使用方法
1 | AppBlockMonitor appMonitor = AppBlockMonitor.getInstance(); |
此文章版权归Jack Ou所有,如有转载,请註明来自原作者