检测内存泄漏常用工具之Leakcanary
2017-09-30 16:25
85 查看
在遇到Leakcanary之前,排查Android开发时发生内存泄漏问题,真是蛋疼的要命,后来技术发烧友向我推荐了Leakcanary这款利器,我试着集成到开发项目中,不得了了:内存泄漏定位准确(比如持有static的强引用对象窗体结束后仍然未销毁),让我在解决时候有了一个明确的方向感。让我优雅的处理内存泄漏的排查和解决。感谢Square神器Leakcanary,github开源地址:https://github.com/square/leakcanary
集成方式也是很简单:
首先在build.gradle添加依赖:
然后再程序的Application中的onCreate()方法初始化操作:
到这里就可以跑起来自己的项目了,当有内存泄漏的时候,Leakcanary会 显示定位到应用中发生内存泄漏的地方:
![](https://img-blog.csdn.net/20170930162143766?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc3VwZXJNckxpdQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
看到这图估计你就知道咋去处理问题啦~~
注意声明:
切记,当你的应用上线的时候记得关闭(注释)掉相关检测代码!
集成方式也是很简单:
首先在build.gradle添加依赖:
dependencies { debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5.4' releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.4' }
然后再程序的Application中的onCreate()方法初始化操作:
public class ExampleApplication extends Application { @Override public void onCreate() { super.onCreate(); if (LeakCanary.isInAnalyzerProcess(this)) { // This process is dedicated to LeakCanary for heap analysis. // You should not init your app in this process. return; } LeakCanary.install(this); // Normal app init code... } }
到这里就可以跑起来自己的项目了,当有内存泄漏的时候,Leakcanary会 显示定位到应用中发生内存泄漏的地方:
看到这图估计你就知道咋去处理问题啦~~
注意声明:
切记,当你的应用上线的时候记得关闭(注释)掉相关检测代码!
相关文章推荐
- leak-canary
- Android AndroidStudio MAT LeakCanary 内存分析之 AndroidStudio 内存泄漏分析 Memory Monitor
- LeakCanary: 让内存泄露无所遁形
- Android内存泄露监测工具之leakcanary
- Android之内存泄漏检测LeakCanary原理浅析
- Android AndroidStudio MAT LeakCanary 内存分析之 LeakCanary
- Android LeakCanary
- Android AndroidStudio MAT LeakCanary 内存分析之 DDMS+MAT
- android 内存泄露分析 Lint StrictMode LeakCanary Memory Analyzer (MAT)
- LeakCanary Eclipse
- oom(4)LeakCanary和eventbus的使用总结
- Android内存优化(六)LeakCanary使用详解
- Android内存泄露自动检测LeakCanary
- LeakCanary上传 leak trace 到服务器
- Android LeakCanary
- Android中LeakCanary检测内存泄漏的方法
- Android性能提升之LeakCanary
- Android程序内存测试框架leakcanary的使用
- LeakCanary: 让内存泄露无所遁形
- Android开发:LeakCanary--检测所有的内存泄漏