LeakCanary使用教程

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

有问题:如下载链接失效等,可以直接留言或者发送邮件到975559549@qq.com,我会立即解决

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中添加权限

    <!--SDCard中创建与删除文件权限-->
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
    <!--向SDCard写入数据权限-->
    <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' 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猎羽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值