检测内存泄漏——LeakCanary的使用

原创 2015年11月19日 15:06:02

废话不多说...(这句..)  


一、在Android Studio 的build.gradle中加入

compile 'com.squareup.leakcanary:leakcanary-android:1.3.1'


二、在Application中添加如下代码:

//<!-- LeakCanary -->
public static RefWatcher getRefWatcher(Context context) {
    UILApplication application = (UILApplication) context.getApplicationContext();
    return application.refWatcher;
}
private RefWatcher refWatcher;
//<!-- LeakCanary -->
refWatcher = LeakCanary.install(this);


三、在应用初始Activity中添加

//<!-- LeakCanary -->
//应用初始Activity中加入如下两行代码
RefWatcher refWatcher = UILApplication.getRefWatcher(this);
refWatcher.watch(this);
//<!-- LeakCanary -->


四、在AndroidManifest.xml中添加配置

<!-- LeakCanary -->
<service
    android:name="com.squareup.leakcanary.internal.HeapAnalyzerService"
    android:enabled="false"
    android:process=":leakcanary" />
<service
    android:name="com.squareup.leakcanary.DisplayLeakService"
    android:enabled="false" />

<activity
    android:name="com.squareup.leakcanary.internal.DisplayLeakActivity"
    android:enabled="false"
    android:icon="@drawable/__leak_canary_icon"
    android:label="@string/__leak_canary_display_activity_label"
    android:taskAffinity="com.squareup.leakcanary"
    android:theme="@style/__LeakCanary.Base" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
<!-- LeakCanary -->

一旦你的应用出现内存泄漏 就会弹出通知然后很直观的显示给你看,既可以分析处理了,当然还有很多高级的使用慢慢探索,这里只是简单的集成操作

相关文章推荐

Android内存泄露自动检测神器LeakCanary

经典的面试题: a、怎样在coding中避免内存泄露? b、怎样检测内存泄露? 这两个问题我想大部分android 职位面试时都会被问到吧。         怎样避免就不赘述了,网上很多答案。    ...

LeakCanary源码分析第二讲-RefWatcher详解

LeakCanary源码分析第二讲-RefWatcher详解 如果你已经阅读了LeakCanary源码分析第一讲,那么LeakCanary的基本架构应该已经掌握了。本文将详细...

内存泄露与分析

原文链接:http://www.jianshu.com/p/402225fce4b2# 为什么要做性能优化? 手机性能越来越好,不用纠结这些细微的性能? Andr...

利用 LeakCanary 来检查 Android 内存泄漏

前言 你被概率性的 OOM 困扰么?有时候,OOM 像幽灵一样,挥之不去,可真想把它揪出来时,又捉之不着。或许,是时候用 LeakCanary 来诊断一下了。它是一个用来检查 Android ...
  • kamidox
  • kamidox
  • 2015年05月12日 22:43
  • 6975

如何在Android Studio中使用LeakCanary检测内存泄露

内存泄露检测是项目性能优化不可避免的问题,只有解决内存泄露问题才能从根本上解决OOM。在Eclipse中提供Mat工具来检测内存泄露,但是使用较为麻烦,界面也不是很直观。对于有耐心,有想法的,也是可以...

使用LeakCanary遇到的问题 就是不弹出来

今天楼主遇到引用LeakCanary时代码跟官网一样但是就不弹出来。楼主新建项目就可以正常使用。楼主郁闷半天,现在终于整出来了。 楼主主工程app引用module为thirdParty,本想为了整洁三...

Android 使用LeakCanary 检测内存泄露

转自:http://blog.csdn.net/sbsujjbcy/article/details/47999163 LeakCanary 是 Android 和 Java 内存泄露检测框架,该框架是...
  • jdsjlzx
  • jdsjlzx
  • 2015年08月28日 14:03
  • 4087

LeakCanary的使用及Application类的使用

参考:https://github.com/SOFTPOWER1991/leakcanarySample_androidStudio

Android进阶——性能优化——内存泄漏检测——eclipse使用 leakcanary AS使用leakcanary

在eclipse中使用1.下载为eclipse优化的Leakcanary,下载链接 http://download.csdn.net/detail/wo_ha/9755042;2. 将项目导入ecli...
  • wo_ha
  • wo_ha
  • 2017年02月15日 15:56
  • 1680

使用LeakCanary时所遇问题

1.Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'. > com.android....
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:检测内存泄漏——LeakCanary的使用
举报原因:
原因补充:

(最多只允许输入30个字)