BlockCanary在Android原生开发中的配置方法

来源:互联网 发布:淘宝兼职工作 编辑:程序博客网 时间:2024/05/29 14:57

BlockCanary对主线程操作进行了完全透明的监控,并能输出有效的信息,帮助开发分析、定位到问题所在,迅速优化应用。
下面介绍配置方法。
1.找到配置BlockCanary的jar包和arr包
blockcanary-android-1.5.0.aar
blockcanary-analyzer-1.5.0-sources.jar

2.mk文件中引入jar包和arr包
引入jar包方法:

LOCAL_STATIC_JAVA_LIBRARIES := dialerblockcanary-analyzerLOCAL_PREBUILT_STATIC_JAVA_LIBRARIES:= \dialerblockcanary-analyzer:libs/blockcanary-analyzer-1.5.0-sources.jar

dialerblockcanary-analyzer为jar包的别名,注意不能跟其它mk中文件里面的别名重复。

引入aar包方法:

LOCAL_STATIC_JAVA_AAR_LIBRARIES :=  dialerblockcanary-aarLOCAL_PREBUILT_STATIC_JAVA_LIBRARIES:= \dialerblockcanary-aar:libs/blockcanary-android-1.5.0.aar

之前没引入过jar包或aar包需加上

include $(BUILD_MULTI_PREBUILT)

打包资源文件:

LOCAL_AAPT_FLAGS := \    --extra-packages com.github.moduth.blockcanary

3.新建一个类,继承自BlockCanaryContext,实现自己的监控上下文,代码示意如下

public class AppBlockCanaryContext extends BlockCanaryContext {  // 实现各种上下文,包括应用标示符,用户uid,网络类型,卡慢判断阙值,Log保存位置等.  //简单使用只需根据需要重写下面一个方法即可(默认为1000ms)………..      @Override    public int provideBlockThreshold() {        return 500;//阻塞时间超过多少秒发通知    }}

4.在自定义的Application对象中初始化Block的配置信息

public class MyApplication extends Application {    public void onCreate() {        super.onCreate();        //初始化配置信息        BlockCanary.install(this, new AppBlockCanaryContext());    }}

备注:最后在编译时发现找不到block_canary_max_stored_count字串,看名字是最多可记录的阻塞信息条数。所以在values/config.xml中加上

<integer name="block_canary_max_stored_count">10000</integer>

即成功编译通过。

原创粉丝点击