BlockCanary介绍

BlockCanary介绍

BlockCanary是什么

BlockCanary是一个Android平台的一个非侵入式的性能监控组件,应用只需要实现一个抽象类,提供一些该组件需要的上下文环境,就可以在平时使用应用的时候检测主线程上的各种卡慢问题,并通过组件提供的各种信息分析出原因并进行修复。

取名为BlockCanary则是为了向LeakCanary致敬,顺便本库的UI部分是从LeakCanary改来的。

BlockCanary设计原理

BlockCanary介绍
上图是BlockCanary的工作流程图,整个流程分为三个部分,分别是监控卡顿、捕获现场、保存现场记录到本地。三个部分分别执行在不同的线程、这也是上述图中三个区域颜色不同的原因,下面详细解释下起工作流程。

第一部分-接收消息

BlockCanary对象构造时,会使用HandlerThread开启两个线程、分别对应图中绿色和紫色两块区域,start方法开启后,会将自定义的Printer设置给主线程的Looper,这样自定义的Printer就能获取每一个message处理时打印的日志,如果不了解Handler机制,

上一篇:recon-ng


下一篇:增删改查