BlockCanary 一个轻量的,非侵入式的性能监控组件(阿里)
开发者博客:
BlockCanary — 轻松找出Android App界面卡顿元凶
开源代码:moduth/blockcanary
BlockCanary对主线程操作进行了完全透明的监控,并能输出有效的信息,帮助开发分析、定位到问题所在,迅速优化应用。其特点有:
- 非侵入式,简单的两行就打开监控,不需要到处打点,破坏代码优雅性。
- 精准,输出的信息可以帮助定位到问题所在(精确到行),不需要像Logcat一样,慢慢去找。
目前包括了核心监控输出文件,以及UI显示卡顿信息功能。仅支持Android端。
使用:(as环境下)
1、app下的build.gradle文件:
1 compile 'com.github.moduth:blockcanary-android:1.1.0' 2 // 如果只想在debug包看到弹出notification 3 debugCompile 'com.github.moduth:blockcanary-ui:1.1.0'
2、继承并实现 BlockCanaryContext 类
// 实现各种上下文,包括应用标示符,用户uid,网络类型,卡慢判断阙值,Log保存位置等
重写getUid方法,返回app内的uid等等。。。
3、初始化
1 // 在主进程初始化 2 BlockCanary.install(this, new AppBlockCanaryContext()).start();