Android工具使用(一) 优化工具集成

工欲善其事,必先利其器。所以开发工具集中第一篇,就介绍几个非常优秀的工具StrictMode、LeakCanary、和 BlockCanary。

工具名称 说明
StrictMode Google自带的严苛模式
LeakCanary squareup出品 简洁的展示内存泄漏 堆栈信息
BlockCanary markzhai高手开源 记录展示 主线程的卡顿

有了这些工具,我们可以在开发工程中事半功倍的优化App性能,提升App的用户体验。


下面说一下具体的集成:

1、StrictMode

推荐在应用的Application中做初始化,具体可以如下:

if (debug) {
  StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
                    .detectAll()
                    .penaltyLog()
                    .build());
    StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
                    .detectAll()
                    .penaltyLog()
                    .build());
}


2、LeakCanary

推荐在应用的Application中做初始化,具体可以如下:

    LeakCanary.install(application);

在看一下依赖

dependencies {
    debugCompile 'com.squareup.leakcanary:leakcanary-android:1.4-beta2'
    releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.4-beta2'
    testCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.4-beta2'
}


3、BlockCanary

推荐在应用的Application中做初始化,具体可以如下:

 BlockCanary.install(application,new TestBlockCanaryContext()).start();

TestBlockCanaryContext的实现

public class TestBlockCanaryContext extends BlockCanaryContext {
    private static final String TAG = TestBlockCanaryContext.class.getSimpleName();

    @Override
    public int provideBlockThreshold() {
        return 1000;
    }

    @Override
    public boolean displayNotification() {
        return BuildConfig.DEBUG;
    }
}

在看一下依赖

dependencies {
    compile 'com.github.markzhai:blockcanary-android:1.5.0'

    // 仅在debug包启用BlockCanary进行卡顿监控和提示的话,可以这么用
    debugCompile 'com.github.markzhai:blockcanary-android:1.5.0'
    releaseCompile 'com.github.markzhai:blockcanary-no-op:1.5.0'
}


下面说一下使用:

工具的使用也是很简单的
StrictMode:如果你的有警告会在logcat看到 strictmode相关的日志。
LeakCanary和BlockCanary:他们会随App生成自己的App,当有异常信息时会在对应的日志记录。


【原创出品 未经授权 禁止转载】
【欢迎微友分享转发 禁止公号等未经授权的转载】

你可能感兴趣的:(Android工具使用(一) 优化工具集成)