blockcanary - 非侵入式的性能监控组件


Apache
Android
Java

软件简介

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

取名为 BlockCanary 则是为了向 LeakCanary 致敬,顺便本库的UI部分是从 LeakCanary 改来的,之后可能会做一些调整。

引入

dependencies {    // 如果希望在release包也开启监控可以直接用compile    // compile 'com.github.moduth:blockcanary:1.0.2'    debugCompile 'com.github.moduth:blockcanary:1.0.2'    releaseCompile 'com.github.moduth:blockcanary-no-op:1.0.2'}

PS: 由于该库使用了 getMainLooper().setMessageLogging();, 请确认是否与你的 app 冲突.

使用方法

在 Application 中:

public class DemoApplication extends Application {    @Override    public void onCreate() {        ...        // 在主进程初始化调用哈        BlockCanary.install(this, new AppBlockCanaryContext()).start();    }}

实现自己的监控上下文:

public class AppBlockCanaryContext extends BlockCanaryContext {    // 实现各种上下文,包括应用标示符,用户 uid,网络类型,卡慢判断阙值,Log 保存位置等}