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

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-analyzer
LOCAL_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-aar
LOCAL_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>

即成功编译通过。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值