1. 程式人生 > >BlockCanary在Android原生開發中的配置方法

BlockCanary在Android原生開發中的配置方法

static 簡單 分析 用戶 多少秒 arr all 方法 阻塞

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

打包資源文件
LOCAL_AAPT_FLAGS := \
–extra-packages com.github.moduth.blockcanary

  1. 新建一個類,繼承自BlockCanaryContext,實現自己的監控上下文,代碼示意如下

public class AppBlockCanaryContext extends BlockCanaryContext {
// 實現各種上下文,包括應用標示符,用戶uid,網絡類型,卡慢判斷闕值,Log保存位置等.
//簡單使用只需根據需要重寫下面一個方法即可(默認為1000ms)
………..
@Override
public int provideBlockThreshold() {
return 500;//阻塞時間超過多少秒發通知
}
}

  1. 在自定義的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中加上
10000
即成功編譯通過。

BlockCanary在Android原生開發中的配置方法