LeakCanary使用教程

本文包含:
1. LeakCanary 1.5.4 在线集成
2. LeakCanary 1.5.4 离线jar包的导入方法(本人提供免费下载-截止到2018/2/1的最新版)
2. LeakCanary的配置和使用
3. 解决Android6.0无法使用LeakCanary的问题

有问题:如下载链接失效等,可以直接留言或者发送邮件到[email protected],我会立即解决

LeakCanary

LeakCanary在线集成

在build.gradle文件中添加如下内容:

    debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5.4'
    releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.4'

LeakCanary离线导入

1.下载链接:链接:https://pan.baidu.com/s/1eayoIa 密码:xhe1

包含:
leakcanary-android-1.5.4.aar
leakcanary-android-no-op-1.5.4.aar
leakcanary-analyzer-1.5.4.aar
leakcanary-watcher-1.5.4.aar
haha-2.0.3.jar

2.全部复制到libs文件夹内
3.在项目根目录的build.gradle中做如下添加:

allprojects {
    repositories {
        mavenCentral()
        //下面内容
        flatDir{
            dirs 'libs'
        }
    }
}

4.在app的build.gradle中添加:

compile fileTree(dir: 'libs', include: ['*.jar'])
//下面内容
debugCompile(name:'leakcanary-android-1.5.4',ext:'aar')
releaseCompile(name:'leakcanary-android-no-op-1.5.4',ext:'aar')

LeakCanary的使用

1.在项目的ApplicationonCreate中添加下面内容:

    public void onCreate() {
        super.onCreate();
        LeakCanary.install(this);
    }

2.AndroidManifest.xml中添加权限

    
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
    
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

Android6.0中的配置

因为Android6.0的权限需要动态申请,所以仅仅是在AndroidManifest.xml中添加权限是没用的,需要代码中动态申请:

    private static final int REQUEST_EXTERNAL_STORAGE = 1;
    private static String[] PERMISSIONS_STORAGE = {
            "android.permission.READ_EXTERNAL_STORAGE",
            "android.permission.WRITE_EXTERNAL_STORAGE" };

    public static void verifyStoragePermissions(Activity activity) {

        try {
            //检测是否有写的权限
            int permission = ActivityCompat.checkSelfPermission(activity,
                    "android.permission.WRITE_EXTERNAL_STORAGE");
            if (permission != PackageManager.PERMISSION_GRANTED) {
                // 没有写的权限,去申请写的权限,会弹出对话框
                ActivityCompat.requestPermissions(activity, PERMISSIONS_STORAGE,REQUEST_EXTERNAL_STORAGE);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

可以在第一个Activity中调用:

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        //申请权限
        verifyStoragePermissions(this);
}

ActivityCompat找不到

添加appcompat-v7的依赖就可以解决(不一定要最新的):

compile 'com.android.support:appcompat-v7:27.0.2' 

你可能感兴趣的:(Android)