blockcanary非侵入式的性能監(jiān)控組件
BlockCanary 是一個 Android 平臺的一個,應(yīng)用只需要實現(xiàn)一個抽象類,提供一些該組件需要的上下文環(huán)境,就可以在平時使用應(yīng)用的時候檢測主線程上的各種卡慢問題,并通過組件提供的各種信息分析出原因并進行修復(fù)。
取名為 BlockCanary 則是為了向 LeakCanary 致敬,順便本庫的UI部分是從 LeakCanary 改來的,之后可能會做一些調(diào)整。
引入
dependencies { // 如果希望在release包也開啟監(jiān)控可以直接用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() { ... // 在主進程初始化調(diào)用哈 BlockCanary.install(this, new AppBlockCanaryContext()).start(); }}
實現(xiàn)自己的監(jiān)控上下文:
public class AppBlockCanaryContext extends BlockCanaryContext { // 實現(xiàn)各種上下文,包括應(yīng)用標示符,用戶 uid,網(wǎng)絡(luò)類型,卡慢判斷闕值,Log 保存位置等}評論
圖片
表情
